陣列扁平化?
聽起來好像灰常的好大上?真的嗎?
但是我們也可以用非常簡單易懂的方法來理解它。
陣列扁平化,聽起來是不是像是「降維打擊」,似乎是把3d的物品壓縮到二維?
沒錯,就是這麼理解,來看看下面的圖讓我們更好的理解什麼事是組扁平化。
比如說①是需要處理的陣列,他看起來很複雜但是我們可以把它看成②,而②看起來是不是就有3d感了?
然後變成二維不就是去掉子陣列的中括號然後放進父陣列嘛,然後就變成了③,然後就完成了陣列扁平化,我在這裡只是舉了乙個最賤的的例子,而現實中可能會三次套娃甚至是四次套娃,方法是一致的,慢慢來應該就可以了。(大括號不能去哦)
上面就是陣列扁平化的原理,那怎麼才能給乙個陣列進行扁平化操作呢?
1.es6中的flat是個好辦法:
ary = arr.
flat
(infinity
)console.
log([1
,[2,
3,[4
,5]]
].flat
(infinity
))
2.第二種簡單的方法:
function
flatten
(arr)
return arr
}let arr =[1
,2,[
3,4]
,[5,
[6,7
]]]console.
log(
flatten
(arr)
)
陣列扁平化
原陣列 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...