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 console.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?
To append one array to another, call the concat() method on the first array, passing it the second array as a parameter, e.g. const arr3 = arr1. concat(arr2) . The concat method will merge the two arrays and will return a new array. Copied!
Use the concat function, like so: var arrayA = [1, 2]; var arrayB = [3, 4]; var newArray = arrayA. concat(arrayB); The value of newArray will be [1, 2, 3, 4] ( arrayA and arrayB remain unchanged; concat creates and returns a new array for the result).
An array is an ordered collection of values: each value is called an element, and each element has a numeric position in the array, known as its index. JavaScript lets us create arrays inside array called Nested Arrays. Nested Arrays have one or many arrays as the element of an array.
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']]);
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 );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With