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

Dav*_*mas 10 javascript arrays jquery

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

var cString =   [
            ['1','Techdirt','www.techdirt.com'],
            ['2','Slashdot','slashdot.org'],
            ['3','Wired','wired.com']
            ];
Run Code Online (Sandbox Code Playgroud)

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

var test = ['4','Stackoverflow','stackoverflow.com']
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

var newArray = $.merge(cString, test);
Run Code Online (Sandbox Code Playgroud)

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

[?Array,?Array,?Array,'4','Stackoverflow','stackoverflow.com']
Run Code Online (Sandbox Code Playgroud)

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

use*_*716 16

这不需要jQuery.只需使用Array的.push()方法将其添加到主阵列.

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

cString.push( test );
Run Code Online (Sandbox Code Playgroud)

什么$.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 );
Run Code Online (Sandbox Code Playgroud)

  • @David - 哦,我明白你在做什么.`.push()`方法修改原始数组,并返回新的长度.这就是你的`newArray`变量显示'4'的原因. (2认同)