1.es6中的array.prototype.flat()
flag函式預設引數是1。
var arr1 =[1
,2,3
,[4,
5]];
arr2 = arr1.
flat()
;console.
log(arr2)
;// [1, 2, 3, 4, 5]
設定引數為2。
var arr1 =[1
,2,3
,[4,
5],[
[1,2
],[1
,2],
[1,2
]]];
arr2 = arr1.
flat(2
);console.
log(arr2);[
1,2,
3,4,
5,1,
2,1,
2,1,
2]
設定引數為infinity
,不管陣列有幾級,都扁平化
var arr1 =[1
,2,3
,[4,
5],[
[1,2
],[1
,2],
[1,2
]]];
arr2 = arr1.
flat
(infinity);
console.
log(arr2);[
1,2,
3,4,
5,1,
2,1,
2,1,
2]
2.把陣列變為字串
var arr1 =[1
,2,3
,[4,
5],[
[1,2
],[1
,2],
[1,2
]]];
arr2 = arr1.
tostring()
;//字串不會出現中括號
var newarr = arr2.
split
(",");
result = newarr.
map(res =>
number
(res)
)console.
log(result)
;
3.正規表示式
var arr1 =[1
,2,3
,[4,
5],[
[1,2
],[1
,2],
[1,2
]]];
str1 =
json
.stringify
(arr1)
console.
log(str1)
;result = str1.
replace
(/(\[|\])/g,""
);console.
log(result)
;var a = result.
split
(",").
map( res =>
number
(res)
) console.
log(a)
;//[1, 2, 3, 4, 5, 1, 2, 1, 2, 1, 2]
4.遞迴處理
var arr =[1
,2,3
,[4,
5],[
[1,2
],[1
,2],
[1,2
]]];
let result =
;function
myflat
(arr)
else}}
myflat
(arr)
console.
log(result)
;
陣列扁平化
原陣列 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...
扁平化陣列
第一次遇到陣列扁平化已經是在3k遊戲的筆試題裡,當時是用了遞迴的方法。因為對一些陣列方法,字串方法十分的不熟練 扁平化陣列的核心都是,遍歷陣列元素,遇到陣列就拆,不是陣列就加進去。var arr 1,2,3,4,5 console.log bianpinghua arr tostring split...