如果現在有兩個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上實作,則可以看到下面的結果:
或者是可以透過 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