扁平化陣列

2021-09-27 13:26:32 字數 771 閱讀 8246

第一次遇到陣列扁平化已經是在3k遊戲的筆試題裡,當時是用了遞迴的方法。因為對一些陣列方法,字串方法十分的不熟練

扁平化陣列的核心都是,遍歷陣列元素,遇到陣列就拆,不是陣列就加進去。

var arr = [1, [2, 3, [4, 5]]] 

console.log(bianpinghua(arr))

tostring()+split()

先把陣列轉為字串,然後通過,分割成陣列,然乎字元轉數字!太可以了這種方法!

function bianpinghua(arr))

return arr

}

reduce()+concat()

reduce()的第一項為累加的結果,item為陣列每一項值。如果該項是陣列,就遞迴,不是陣列就直接連線。

function flatten(arr) , );

}

還有es2019的新方法

flat(n)

const arr = [1, 2, [3, 4, [5, 6]]];

arr.flat(); // [1, 2, 3, 4, [5, 6]]

arr.flat(2); // [1, 2, 3, 4, 5, 6]

arr.flat (infinity) //展開所有陣列

不帶引數則預設分解一層,帶引數就解到n層,infinity就是展開所有層級。

flat()方法還可以移除陣列內的空項

陣列扁平化

原陣列 const arr 1,2,3,4 5,6,7,8 9 希望輸出 1,2,3,4,5,6,7,8,9 方法一 遞迴 function arrdelayering arr else return newarr let newarr arrdelayering arr 1,2,3,4,5,6,7...

陣列扁平化

今天看到了陣列扁平化處理,猶記得之前面試被問到過,下面介紹一下陣列扁平化處理的幾種形式 題目要求 將陣列 arr 1,2,3,4,5,6,7,8,9 轉化為 1,2,3,4,5,6,7,8,9 1 遞迴 var arr 1,2,3,4,5,6,7,8,9 方法一 遞迴 function flatfu...

陣列扁平化

編寫乙個程式,將陣列扁平化,並去除其中重複部分資料,最終得到乙個公升序而且不重複的陣列 let arr 1,2,3,4,5,6,7 1,23,5,1,2,3,45,5 10 方法一 使用 es6 中提供的 array.prototype.flat 處理 然後在使用 set 方法去除重複項 arr a...