如何使用jQuery将数组添加到数组数组?

时间:2010-09-11 17:45:02

标签: javascript jquery arrays

我有一个数组,如下所示:

var cString =   [
            ['1','Techdirt','www.techdirt.com'],
            ['2','Slashdot','slashdot.org'],
            ['3','Wired','wired.com']
            ];

到这个数组我想以相同的格式添加另一个:

var test = ['4','Stackoverflow','stackoverflow.com']

我尝试过使用:

var newArray = $.merge(cString, test);

但是console.log(newArray);输出:

[►Array,►Array,►Array,'4','Stackoverflow','stackoverflow.com']

所以我假设我错过了一些明显的东西。或尝试一些愚蠢的......帮忙?

3 个答案:

答案 0 :(得分:16)

这不需要jQuery。只需使用the Array's .push() method将其添加到主阵列。

var test = ['4','Stackoverflow','stackoverflow.com']

cString.push( test );

$.merge()所做的是它遍历你传递的第二个数组并将其项目逐个复制到第一个数组中。


修改

如果您不想修改原始数组,可以先复制它,然后将.push()新数组复制到副本中。

var cString =   [
            ['1','Techdirt','www.techdirt.com'],
            ['2','Slashdot','slashdot.org'],
            ['3','Wired','wired.com']
            ];

var test = ['4','Stackoverflow','stackoverflow.com']

var newArray = cString.slice();

newArray.push( test );

答案 1 :(得分:2)

你可以像这样使用合并功能

var newArray = $.merge($.merge([], cString), test);

答案 2 :(得分:1)

除了patrick所描述的push之外,如果要创建 new 列表而不是更改旧列表,可以将数组与Array#concat一起添加:< / p>

var newArray= cString.concat([['4','Stackoverflow','stackoverflow.com']]);