13 個(gè) JavaScript 數(shù)組精簡(jiǎn)技巧
數(shù)組是 JS 最常見(jiàn)的一種數(shù)據(jù)結(jié)構(gòu),咱們?cè)陂_(kāi)發(fā)中也經(jīng)常用到,在這篇文章中,提供一些小技巧,幫助咱們提高開(kāi)發(fā)效率。
1. 刪除數(shù)組的重復(fù)項(xiàng)
2. 替換數(shù)組中的特定值
有時(shí)在創(chuàng)建代碼時(shí)需要替換數(shù)組中的特定值,有一種很好的簡(jiǎn)短方法可以做到這一點(diǎn),咱們可以使用 .splice(start、value to remove、valueToAdd)
,這些參數(shù)指定咱們希望從哪里開(kāi)始修改、修改多少個(gè)值和替換新值。
3. Array.from 達(dá)到 .map 的效果
咱們都知道 .map()
方法, .from()
方法也可以用來(lái)獲得類似的效果且代碼也很簡(jiǎn)潔。
4.置空數(shù)組
有時(shí)候我們需要清空數(shù)組,一個(gè)快捷的方法就是直接讓數(shù)組的 length
屬性為 0
,就可以清空數(shù)組了。
5. 將數(shù)組轉(zhuǎn)換為對(duì)象
有時(shí)候,出于某種目的,需要將數(shù)組轉(zhuǎn)化成對(duì)象,一個(gè)簡(jiǎn)單快速的方法是就使用展開(kāi)運(yùn)算符號(hào)( ...
):
6. 用數(shù)據(jù)填充數(shù)組
在某些情況下,當(dāng)咱們創(chuàng)建一個(gè)數(shù)組并希望用一些數(shù)據(jù)來(lái)填充它,這時(shí) .fill()
方法可以幫助咱們。
7. 數(shù)組合并
使用展開(kāi)操作符,也可以將多個(gè)數(shù)組合并起來(lái)。
8.求兩個(gè)數(shù)組的交集
求兩個(gè)數(shù)組的交集在面試中也是有一定難度的正點(diǎn),為了找到兩個(gè)數(shù)組的交集,首先使用上面的方法確保所檢查數(shù)組中的值不重復(fù),接著使用 .filter
方法和 .includes
方法。如下所示:
9.從數(shù)組中刪除虛值
在 JS 中,虛值有 false
, 0
, ''
, null
, NaN
, undefined
。咱們可以 .filter()
方法來(lái)過(guò)濾這些虛值。
10. 從數(shù)組中獲取隨機(jī)值
有時(shí)我們需要從數(shù)組中隨機(jī)選擇一個(gè)值。一種方便的方法是可以根據(jù)數(shù)組長(zhǎng)度獲得一個(gè)隨機(jī)索引,如下所示:
11.反轉(zhuǎn)數(shù)組
現(xiàn)在,咱們需要反轉(zhuǎn)數(shù)組時(shí),沒(méi)有必要通過(guò)復(fù)雜的循環(huán)和函數(shù)來(lái)創(chuàng)建它,數(shù)組的 reverse
方法就可以做了:
12 lastIndexOf() 方法
13.對(duì)數(shù)組中的所有值求和
JS 面試中也經(jīng)常用 reduce
方法來(lái)巧妙的解決問(wèn)題
總結(jié)
在本文中,介紹了13個(gè)技巧,希望它們可以幫助編寫(xiě)簡(jiǎn)潔代碼,如果你還有更好的辦法,歡迎留言討論。
人才們的 【三連】 就是小智不斷分享的最大動(dòng)力,如果本篇博客有任何錯(cuò)誤和建議,歡迎人才們留言,最后,謝謝大家的觀看。
代碼部署后可能存在的BUG沒(méi)法實(shí)時(shí)知道,事后為了解決這些BUG,花了大量的時(shí)間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個(gè)好用的BUG監(jiān)控工具 Fundebug 。