章節連結
最近在網路上找資料練習串接資料時,頭一次遇上陣列裡有陣列的狀況。筆記一下如何運用 JavaScript 的 “Array.prototype.concat.apply” 方法來處理這狀況。
重點提示
1. “concat() 方法被用來合併兩個或多個陣列。此方法不會改變現有的陣列,回傳一個包含呼叫者陣列本身的值,作為代替的是回傳一個新陣列。” (MDN)
2. “apply 的第一個函數為目標函數的 this, 第二個函數要是陣列。會把陣列裡的每個元素傳到目標函式中。” (itHome文章)
綜合以上,將這兩個方法合併使用,就可以達到陣列將維度的效果。
1 2 3 4 5 6 |
let temp=[]; let arrays=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]; //以下結果都是 [1,2,3,4,5,6,7,8,9,10,11,12] console.log(Array.prototype.concat.apply([],arrays)) //寫法 I console.log([].concat.apply([],arrays)) // 寫法 II |