为什么将数组推入另一个数组合并元素而不是将它们放在单独的数组中

时间:2015-06-24 12:30:23

标签: javascript arrays

我有一个数组,我在其中迭代地推送新值,在每次迭代结束时,我希望将所形成的数组插入到新数组中。 例如:如果在第一次迭代结束时数组= [1,2,3,4],那么bigarray = [[1,2,3,4]]。 第二次迭代后,如果array = [5,6,7,8],那么bigarray = [[1,2,3,4],[5,6,7,8]]等等。

所以基本上bigarray是包含一个数组列表,我可以从中获取数组。 例如:bigarray [0]应该给我一个数组[1,2,3,4]

我现在正在做的是array.push(一些值),最后是bigarray.push(数组)。这样做会将所有值合并为一个数组 bigarray = [1,2,3,4,5,6,7,8],我可以将第一个数组和第二个数组分开。

一段代码:

BsonRepresentation

如何达到上述预期效果?

2 个答案:

答案 0 :(得分:1)

你应该用这种方式调用array.push(array.push([1,2,3]))而不是(array.push(1,2,3))

var bigarray = [];

bigarray.push( [1,2,3,4] );
bigarray.push( [5,6,7,8] );

console.log(bigarray); // prints [[1,2,3,4],[5,6,7,8]]

修改

看到您的代码后,代码中没有问题,只需使用console.log代替alert打印数组,因为alert会调用.toString()大阵列,并将其压扁

答案 1 :(得分:0)

你可以尝试这样的事情

bigArrray[bigArray.length] = subArray

但是......

bigArrray.push([1,2,3])

......对我来说也很好用