Array.concat

.concat()

.concat() takes an existing array, adds a value to it and returns a new array

it takes a copy of the original array, adds to it any parameters passed and returns a new array.

.concat() is the equivalent of .push(), but superior, because it does not edit the data in place, it gives a new array as a result.

  • you can pass in multiple values
  • you can pass in different types
  • you can pass in other arrays as params. it gets every item in the array and adds it in the new array.
  • you can use concat() to flatten arrays, but only one value deep

Examples

adding items to arrays

let nums = [1, 2]
let newNums = nums.concat(3)
console.info(newNums) // [ 1, 2, 3 ]

let moreNums = nums.concat(3, 4, 5)
console.info(moreNums) // [ 1, 2, 3, 4, 5 ]

let diverseNums = nums.concat(true, 'hello', undefined)
console.info(diverseNums) // [ 1, 2, true, 'hello', undefined ]

let addArr = nums.concat([ 3, 4 ], [ 5, [6, 7 ]])
console.info(addArr) // [ 1, 2, 3, 4, 5, [ 6, 7 ] ]

log all names in 3 different arrays of objects

let people = [{name: 'Aamnah'}, {name: 'Ali'}]
let people2 = [{name: 'Alex'}, {name: 'Benny'}]
let people3 = [{name: 'Himesh'}, {name: 'Shareese'}, {name: 'Yaacov'}, {name: 'Martin'}]

let names = people.concat(people2, people3).forEach(person => console.info(person.name))

/*
Aamnah
Ali
Alex
Benny
Himesh
Shareese
Yaacov
Martin
*/