Here is a sample of what I would like to do
function test(r){
var arr = ['d','e','f'];
r.push(arr);
/*
More Code
*/
return r;
}
var result = test(['a','b','c']);
alert(result.length);//I want this to alert 6
What I need to do is pass in an array and attach other arrays to the end of it and then return the array. Because of passing by reference I cannot use array.concat(array2);
. Is there a way to do this without using something like a for loop to add the elements one by one. I tried something like r.push(arr.join());
but that did not work either. Also, I would like the option of having objects in the arrays so really the r.push(arr.join());
doesn't work very well.
The concat() method concatenates (joins) two or more arrays. The concat() method returns a new array, containing the joined arrays. The concat() method does not change the existing arrays.
The concat() method is used to merge two or more arrays and is built directly into the Node. js language. It doesn't change anything about the existing arrays and just simply combines them into one new array.
Use the spread syntax to merge arrays in TypeScript, e.g. const arr3 = [...arr1, ...arr2] . The spread syntax will unpack the values of the arrays into a new array. The final array will have a type that reflects the types of the values in the supplied arrays.
>>> var x = [1, 2, 3], y = [4, 5, 6];
>>> x.push.apply(x, y) // or Array.prototype.push.apply(x, y)
>>> x
[1, 2, 3, 4, 5, 6]
Alternatively using destructuring you can now do this
//generate a new array
a=[...x,...y];
//or modify one of the original arrays
x.push(...y);
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