Concat is a pure operator. It means it produces a new array instead of changing the one that is calling it.
let result = [];
let arr1 = [1,2];
let arr2 = [3,4];
let arr3 = [5,6];
result.concat(arr1); // returns an array
result.concat(arr2); // returns an array
result.concat(arr3); // returns an array
if you want to change a result array you can do it like this:
let result = [];
let arr1 = [1,2];
let arr2 = [3,4];
let arr3 = [5,6];
result = result.concat(arr1);
result = result.concat(arr2);
result = result.concat(arr3);
or
let result = [];
let arr1 = [1,2];
let arr2 = [3,4];
let arr3 = [5,6];
result.push(...arr1);
result.push(...arr2);
result.push(...arr3);
push is an impure operator so it is changing 'result' array. I am using a destructuring here to pass all of arr elements to push as separate arguments.