Javascript:推送整个列表?

时间:2011-01-30 12:54:34

标签: javascript

是否有一种内置的方法可以将一个列表附加到另一个列表中,如下所示:

var a = [1,2,3];
a.append([4,5]);
// now a is [1,2,3,4,5];

concat()执行类似操作但返回结果。我想要一些修改现有列表的内容,如push()

4 个答案:

答案 0 :(得分:29)

push可以使用,但您还需要使用apply

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

答案 1 :(得分:6)

var list = [1, 2];

人们已经向您展示了如何执行此操作:

  1. 推送:list.push.apply(list, [3, 4]);
  2. concat:list = list.concat([4, 5]);
  3. 但我想讲述ES6 spread operatorlist.push(...[3, 4]);

    请记住,目前没有多少浏览器支持它(您可以使用转发器)。

答案 2 :(得分:5)

如果您使用的是ES6,则可以使用点差运算符

例如: -

listOne = [1,2,3]
listTwo = [4,5,6]
listTwo.push(...listOne)

答案 3 :(得分:3)

这个怎么样:

var a = [1, 2, 3];
a = a.concat([4, 5]);
// a is now [1, 2, 3, 4, 5]