Skip to content

[javascript] 二維陣列轉換為一維陣列

Published: at 10:34 AM (1 min read)

紀錄一下 javascript 二維陣列轉一維的幾種寫法跟方法


直覺的寫法:

[javascript] var numbers=[ [1, 3], [5, 7], [9] ]; var result=[]; for(var i=0; i<numbers.length; i++) { for(var j=0; j<numbers[i].length; j++) { result.push(numbers[i][j]); } } console.log(result); // [1, 3, 5, 7, 9] [/javascript]

利用陣列的 reduce 函式(可參考此網址):

將陣列中的所有元素串接至一個陣列

[javascript] var numbers=[ [1, 3], [5, 7], [9] ]; var result=numbers.reduce(function(previousValue, currentValue, currentIndex, array){ return previousValue.concat(currentValue); }, []); console.log(result); // [1, 3, 5, 7, 9] [/javascript]

利用函式方法內建的 apply 方法去取代 this (可參考此網址):

[javascript] var numbers=[ [1, 3], [5, 7], [9] ]; var result=[].concat.apply([], numbers); console.log(result); // [1, 3, 5, 7, 9] [/javascript]

參考資料:

http://larry850806.github.io/2016/07/16/JS-tips/