陣列扁平化

2021-09-25 06:51:41 字數 1114 閱讀 9627

今天看到了陣列扁平化處理,猶記得之前面試被問到過,下面介紹一下陣列扁平化處理的幾種形式:

題目要求:

/*

*將陣列 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 flatfun(arr) else

})return list

}let res1 = flatfun(arr);

console.log(res1)

2、通過陣列的原型函式,需預先知道陣列的深度

var arr = [1,2,3,4,[5,6,7,[8,9]]];

//方法二:預先知道陣列深度的情況下

let res2 = arr.flat(3);

console.log(res2)

3、通過tostring方法【具有比較大的侷限性,當元素不為數字時,結果可能不正確】

var arr = [1,2,3,4,[5,6,7,[8,9]]];

//方法三:通過tostring()

let res3 = arr.tostring().split(",").map(item => number(item));

console.log(res3);

4、通過reduce進行歸併

//方法4 通過reduce進行陣列歸併

var arr = [1,2,3,4,[5,6,7,[8,9]]];

function flatten(arr),);//reduce的第二個引數:作為歸併基礎的初始值

}var res4 = flatten(arr);

console.log(res4);

看到這裡,是不是學到了很多你不知道的js;

陣列扁平化

原陣列 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...

扁平化陣列

第一次遇到陣列扁平化已經是在3k遊戲的筆試題裡,當時是用了遞迴的方法。因為對一些陣列方法,字串方法十分的不熟練 扁平化陣列的核心都是,遍歷陣列元素,遇到陣列就拆,不是陣列就加進去。var arr 1,2,3,4,5 console.log bianpinghua arr tostring split...

陣列扁平化

編寫乙個程式,將陣列扁平化,並去除其中重複部分資料,最終得到乙個公升序而且不重複的陣列 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...