使用jQuery将多个数组合并为一个数组

5
我想使用jQuery将多个数组合并成一个数组。我知道我们可以使用jQuery的merge函数将两个数组合并为一个数组,并通过循环将它们连接成一个数组。但我想知道是否有其他方法可以在不使用任何循环的情况下实现这一目标。因为我要处理大量数据,所以可能会遇到任意数量的数组。我担心使用循环会影响性能,请给我一些建议。谢谢。
最好的祝愿 Sibeesh Venu
3个回答

14

使用.concat

并将其应用于多个数组,如下所示

var multipleArrays = [[1,2], [3,4], [5,6]];

var flatArray = [].concat.apply([], multipleArrays); 
// [1, 2, 3, 4, 5, 6]

// Using the Spread syntax
var flatArray2 = Array.prototype.concat(...multipleArrays);
// [1, 2, 3, 4, 5, 6]

1
不要使用 .concat.apply -- concat 会返回一个新的数组本身。 - Vasiliy vvscode Vanchuk
如果OP有动态数量的数组,使用concat.apply会更容易些。 - Neverever
我会尝试这种方法并告诉你。谢谢。 - user2471346

6
在纯JavaScript中使用array1.concat(array2)

正如我在问题中所说,我需要合并许多数组,不仅仅是两个。我已经尝试过这种方法。谢谢。 - user2471346
3
只需将函数链接在一起即可:array1.concat(array2).concat(array3) - DGS

2

您可以使用push方法将一个数组的所有值添加到另一个数组中。

var a = [1,2,3]
var b = [2,3,4,5]
a.push.apply(a, b)
console.log(a);// [1, 2, 3, 2, 3, 4, 5]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接