MM131美女爱做视频在线看_性强烈的欧美三级视频_男女性潮高清免费网站_日日摸日日碰夜夜爽歪歪

IT培訓(xùn)-高端面授IT培訓(xùn)機(jī)構(gòu)
云和教育:云和數(shù)據(jù)集團(tuán)高端IT職業(yè)教育品牌
  • 國家級
    全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省
    第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市
    數(shù)字技能人才(碼農(nóng))培養(yǎng)評價(jià)聯(lián)盟

H5前端開發(fā)培訓(xùn)之Js數(shù)組去重的四種方法

  • 發(fā)布時(shí)間:
    2019-10-18
  • 版權(quán)所有:
    云和教育
  • 分享:

對于H5前端開發(fā)來說,數(shù)組去重是個(gè)很常見的問題,下面介紹幾種數(shù)組去重的方式

1、遍歷數(shù)組的所有元素,然后讓它與其后所有的數(shù)組元素進(jìn)行比較,如果相等則刪除重復(fù)的元素,并重新與被刪除元素所在索引的元素接著進(jìn)行比較 例如:

配圖1 Js數(shù)組去重的四種方法.jpg

j–;是很必須的一步,數(shù)組的splice方法是會改變原數(shù)組的,當(dāng)重復(fù)元素被刪掉之后,下一個(gè)位置上的元素會填充到當(dāng)前索引位置,此時(shí)索引為j 的 位置上是一個(gè)未經(jīng)比較的新值,所以需要通過j – – 防止j++之后跳過與當(dāng)前索引位置上的比較。

2、將數(shù)組排序之后相鄰的兩個(gè)元素兩兩比較,如果后一個(gè)元素與前面的元素相等則刪除后邊的元素,并讓前一個(gè)元素與其后的元素重新比較。

配圖2 Js數(shù)組去重的四種方法.jpg

此處 i–原理與方法一相同,為了保證當(dāng)查出重復(fù)元素時(shí),要讓當(dāng)前元素與其后填充來的元素再次比較。

3、創(chuàng)建一個(gè)新數(shù)組,然后遍歷要去重?cái)?shù)組的所有元素并依次向新數(shù)組添加,如果要添加的元素在新數(shù)組當(dāng)中不存在則將其push進(jìn)去,如果已存在則跳過本次遍歷,進(jìn)行下一次遍歷。

配圖3 Js數(shù)組去重的四種方法.jpg

此方法還可以用另外一種條件判斷是否向新數(shù)組中push,不是判斷是否存在于新數(shù)組,改為判斷當(dāng)前元素的索引與當(dāng)前元素第一次出現(xiàn)的索引是否相等,如果相等則說明是第一次出現(xiàn),就將其push新數(shù)組,如果不相等則說明不是第一出現(xiàn),不需要做push操作。

配圖4 Js數(shù)組去重的四種方法.jpg

4、利用對象的思想如果對象里沒有這個(gè)屬性的話就會返回undefined,創(chuàng)建一個(gè)空對象和空數(shù)組,遍歷要去沖的數(shù)組的元素,判斷對象中以數(shù)組元素為屬性名時(shí)是否為undefined,如果是則給它設(shè)置一個(gè)值假設(shè)為1,并將改元素push進(jìn)新數(shù)組中,如果不為undefined則不作任何操作。

配圖5 Js數(shù)組去重的四種方法.jpg

以上是一些H5開發(fā)培訓(xùn)中常用的數(shù)組去重方法,希望對你有所幫助。