Как добавить массив к массиву массивов с помощью 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']
Поэтому я предполагаю, что я упускаю что-то очевидное. Или попытается сделать что-нибудь глупое...помочь?
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