日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

转成数组_JavaScript之数组扁平化

發布時間:2023/12/10 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转成数组_JavaScript之数组扁平化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天給大家分享一下JavaScript的數組扁平化。

1. 扁平化

數組的扁平化,就是將一個嵌套多層的數組 array (嵌套可以是任何層數)轉換為只有一層的數組。舉個例子,假設有個名為 flatten 的函數可以做到數組扁平化,效果就會如下:

知道了效果是什么樣的了,我們可以去嘗試著寫這個 flatten 函數了。

2. 遞歸

我們最一開始能想到的莫過于循環數組元素,如果還是一個數組,就遞歸調用該方法:

3. toString

如果數組的元素都是數字,那么我們可以考慮使用 toString 方法,因為:[1, [2, [3, 4]]].toString()

調用 toString 方法,返回了一個逗號分隔的扁平的字符串,這時候我們再 split,然后轉成數字不就可以實現扁平化了嗎?

然而這種方法使用的場景卻非常有限,如果數組是 [1, '1', 2, '2'] 的話,這種方法就會產生錯誤的結果。

4. undercore

那么如何寫一個抽象的扁平函數,來方便我們的開發呢,所有又到了我們抄襲 underscore 的時候了,在這里直接給出源碼和注釋,但是要注意,這里的 flatten 函數并不是最終的 _.flatten,為了方便多個 API 進行調用,這里對扁平進行了更多的配置。

解釋下 strict,在代碼里我們可以看出,當遍歷數組元素時,如果元素不是數組,就會對 strict 取反的結果進行判斷,如果設置 strict 為 true,就會跳過不進行任何處理,這意味著可以過濾非數組的元素。注意,以上實現的細節并不是完全按照 underscore。

學習相關推薦(編程必備輔助):

①:搜索關注公眾號“只會寫BUG”,分享更多干貨知識,資訊,教程等

②:海量編程類資料零基礎到高級亟待領取!!!

如果覺得對你有一丟丟幫助,麻煩動動你的小手指【關注】一下上面的公眾號吧,或者【轉發】讓更多人看到該文章。大家也可積極后臺給我留言,多多交流,共同進步。

總結

以上是生活随笔為你收集整理的转成数组_JavaScript之数组扁平化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。