Как добавить массив к массиву массивов с помощью jQuery?



У меня есть массив, как показано ниже:



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']


Поэтому я предполагаю, что я упускаю что-то очевидное. Или попытается сделать что-нибудь глупое...помочь?

802   3  

3 ответов:

JQuery для этого не нужен. Просто используйте Метод.push() массива , чтобы добавить его в основной массив.

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 );

Вы можете использовать функцию слияния следующим образом

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

В дополнение к push, как описано Патриком, если вы хотите создать новый список вместо изменения старого, вы можете добавить массивы вместе с Array#concat:

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

Comments

    Ничего не найдено.