Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数组成对拆分为新数组?_Javascript_Arrays - Fatal编程技术网

Javascript 如何将数组成对拆分为新数组?

Javascript 如何将数组成对拆分为新数组?,javascript,arrays,Javascript,Arrays,我正在尝试测试我的JS能力,但我不知道如何做到以下几点 我有一个数据数组var数组=[1,2,3,4,5,6,7,8,9,10] 我想对这些项进行配对并返回一个新的数组,例如var newArray=[[1,2],[3,4],[5,6]ect 我是怎么知道这件事的 var-arr=[4,1,2,8,9,0] var newArray=[] 对于(var i=0;i我制作了一个可伸缩函数,您可以使用它来完成这项工作,但您也可以对其进行配置,使其足够灵活,可以通过传入n来处理任意数量的对象 cons

我正在尝试测试我的JS能力,但我不知道如何做到以下几点

我有一个数据数组
var数组=[1,2,3,4,5,6,7,8,9,10]

我想对这些项进行配对并返回一个新的数组,例如
var newArray=[[1,2],[3,4],[5,6]ect

我是怎么知道这件事的

var-arr=[4,1,2,8,9,0]
var newArray=[]

对于(var i=0;i我制作了一个可伸缩函数,您可以使用它来完成这项工作,但您也可以对其进行配置,使其足够灵活,可以通过传入
n
来处理任意数量的对象

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function partitionListByN(list, n = 2, reverse) {
  if(reverse) {
    return [list.splice(list.length - n).reverse()].concat(list.length > 0 partitionListByN(list, n, reverse) : list) 
  }
  return [list.splice(0, n)].concat(list.length > 0 ? partitionListByN(list, n) : list)  
}

console.log(partitionListByN(numbers, 3));
当你传入一个列表时,我们将返回一个列表
[firstPartition,shortenedListFromRecursiveCall]
,因此这将变成
[[1,2,3],[4,5,6],[7,8,9],[10]
,因为我在as 3中传入了
n
。正如你可以看到的,它在参数列表中默认为2


它还支持反向设置:
console.log(partionListByN(numbers,3,true))
这将产生
[[10,9,8],[7,6,5],[4,3,2],[1]

您可以为所需的块大小和索引获取一个变量,并在某些元素可用时进行迭代

var数组=[1,2,3,4,5,6,7,8,9,10],
尺寸=2,
chunks=[],
i=0;
而(i

.as console wrapper{max height:100%!important;top:0;}
肯定是一个
for(让i=0,e=arr.length;iwelcome。为了解释否决票,下次一定要展示你的尝试,粘贴你的代码并告诉我们这个循环将在哪里工作。
const array2=[]
for(让i=0;i