當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
【算法图解|2】JavaScript 如何实现数组扁平化
生活随笔
收集整理的這篇文章主要介紹了
【算法图解|2】JavaScript 如何实现数组扁平化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組的扁平化,就是將一個嵌套多層的數組 array (嵌套可以是任何層數)轉換為只有一層的數組。
舉個例子,假設有個名為 flatten 的函數可以做到數組扁平化,
var arr = [1, [2, [3, 4]]]; console.log(flatten(arr)) // [1, 2, 3, 4]?我們最一開始能想到的莫過于循環數組元素,如果還是一個數組,就遞歸調用該方法:
// 這一種方法通過遞歸來實現,當元素為數組時遞歸調用,兼容性好 function flattenArray(array) {if (!Array.isArray(array)) return;let result = [];result = array.reduce(function (pre, item) {// 判斷元素是否為數組,如果為數組則遞歸調用,如果不是則加入結果數組中return pre.concat(Array.isArray(item) ? flattenArray(item) : item);}, []);return result; } // 這一種方法是利用了 toString 方法,它的一個缺點是改變了元素的類型,只適合于數組中元素都是整數的情況 function flattenArray(array) {return array.toString().split(",").map(function (item) {return +item;}) }?
總結
以上是生活随笔為你收集整理的【算法图解|2】JavaScript 如何实现数组扁平化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法图解|1】js 实现一个函数,完成
- 下一篇: 【算法图解|3】JavaScript 如