How can I add an array to an array of arrays using jQuery?
I have an array, as below:
var cString = [
['1','Techdirt','www.techdirt.com'],
['2','Slashdot','slashdot.org'],
['3','Wired','wired.com']
];
to this array I want to add another in the same format:
var test = ['4','Stackoverflow','stackoverflow.com']
I've tried using:
var newArray = $.merge(cString, test);
But consol开发者_如何学编程e.log(newArray);
outputs:
[►Array,►Array,►Array,'4','Stackoverflow','stackoverflow.com']
So I'm assuming that I'm missing something obvious. Or attempting something stupid...help?
jQuery is not needed for this. Just use the Array's .push()
method to add it to the main array.
var test = ['4','Stackoverflow','stackoverflow.com']
cString.push( test );
What $.merge()
does is it walks through the second array you pass it and copies its items one by one into the first.
EDIT:
If you didn't want to modify the original array, you could make a copy of it first, and .push()
the new Array into the copy.
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 );
In addition to push
as described by patrick, if you want to create a new list rather than changing the old, you can add arrays together with Array#concat
:
var newArray= cString.concat([['4','Stackoverflow','stackoverflow.com']]);
you can use merge function like this
var newArray = $.merge($.merge([], cString), test);
精彩评论