Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add two arrays without using the concat method

Tags:

javascript

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.

like image 640
qw3n Avatar asked Mar 09 '11 01:03

qw3n


People also ask

How do you add two arrays together?

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.

How do I merge two arrays in node JS?

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.

How do I join two arrays in TypeScript?

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.


1 Answers

>>> 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);
like image 118
emulbreh Avatar answered Oct 16 '22 04:10

emulbreh