Concat in an empty array in Javascript
var canEmptyArray = [];
grid = [...(grid), ...(canEmptyArray), ...(row)];
All arrays can be empty as long as it is in the array format
You want to use .concat
when you need to flatten the array and not have an array consisting of other arrays. E.g.
var a = [1,2,3];
var b = [4];
Scenario 1
console.log(b.push(a));
// Result: [4, [1,2,3]]
Scenario 2
console.log(b.concat(a));
// Result: [4,1,2,3]
So both of your scenarios in an array of array. Since [].concat()
results in an array only, pushing both [row]
, [].concat(row)
has the same result.
But if you want a flattened array, there is a slight change needed in your code, that you have to .concat
the array row
with grid
and not .push
the result of concat to it, as shown in scenario 2
Check my variant:
let arr = [];
let tmp = [ 1, 2, '300$' ];
arr.push(...tmp);