如果現在有兩個JS陣列,需要把他合成一個陣列來用,最直覺想到的方式應該是用某種方式將兩個陣列相加,例如:

let arr1 = ['a', 'b', 'c'];
let arr2 = ['d', 'e', 'f'];

let arr = arr1 + arr2;
console.log(arr); //a,b,cd,e,f 
console.log(typeof arr); //string

可以看到,這樣子加起來輸出的結果竟然是叫做 "a,b,cd,e,f" 的奇怪字串;進一步去看檢查他的type,得到的結果竟然是string

事實上,JS是有自己專用的陣列組合方法.concat(),如下:

let arr1 = ['a', 'b', 'c'];
let arr2 = ['d', 'e', 'f'];

let arr = arr1.concat(arr2);
console.log(arr); // [ 'a', 'b', 'c', 'd', 'e', 'f' ]
console.log(typeof arr); // object

如果在browser console上實作,則可以看到下面的結果:

Untitled

或者是可以透過 Array.isArray() 方法來確認:

let arr1 = ['a', 'b', 'c'];
let arr2 = ['d', 'e', 'f'];

let arr = arr1.concat(arr2);
console.log(arr); // [ 'a', 'b', 'c', 'd', 'e', 'f' ]
console.log(typeof arr); // object
console.log(Array.isArray(arr)); // true

第二種方法是用Spread Operators,請參閱Spread Operators and Rest Parameters