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);