最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS數(shù)組去重的常用4種方法

 更新時(shí)間:2022年04月06日 09:48:29   投稿:wdc  
這篇文章主要介紹了JS數(shù)組去重的常用4種方法,ES6的Set類數(shù)組去重,for循環(huán)嵌套for循環(huán),indexOf去重,利用filter需要的朋友可以參考下

1.ES6的Set類數(shù)組去重

var arr = [1,2,2,3,3,4,4,1,5,6,6,5]
function unique (arr) {
  return Array.from(new Set(arr))
}

console.log(unique(arr))
 //[1,2,3,4,5,6]

ES6的Set是類數(shù)組,里面的值是唯一的,但是不是真正的數(shù)組所以要通過(guò)Array.from()方法轉(zhuǎn)化為數(shù)組,不考慮兼容問(wèn)題是最簡(jiǎn)單的去重方法

2.for循環(huán)嵌套for循環(huán)

var arr = [1,2,2,3,3,4,4,1,5,6,6,5];

function unique(arr) {
    for (var i = 0; i < arr.length; i++) {    // 首次遍歷數(shù)組
        for (var j = i + 1; j < arr.length; j++) {   // 再次遍歷數(shù)組
            if (arr[i] == arr[j]) {          // 判斷連個(gè)值是否相等
                arr.splice(j, 1);           // 相等刪除后者
                j--;
            }
        }
    }
    return arr
}
console.log(unique(arr));

兩個(gè)for循環(huán)加上spliceES5常用的方法
第一個(gè)for遍歷每個(gè)數(shù)組項(xiàng),第二個(gè)for循環(huán)遍歷第一個(gè)for循環(huán)當(dāng)前遍歷項(xiàng)后面的數(shù)組項(xiàng)與第一個(gè)for當(dāng)前數(shù)組項(xiàng)作比較,后面存在相等的項(xiàng),則刪除掉此項(xiàng),并且j要減一,因?yàn)閯h除了一項(xiàng),所以后面的元素往前移了,所以減一來(lái)抵消遷移確保每一項(xiàng)遍歷完

3.indexOf去重

var arr = [1,2,2,3,3,4,4,1,5,6,6,5];
function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('錯(cuò)誤!')
        return
    }
    var array = [];
    for (var i = 0; i < arr.length; i++) {    // 首次遍歷數(shù)組
        if (array.indexOf(arr[i]) === -1) {   // 判斷索引有沒(méi)有等于
            array.push(arr[i])
        }
    }
    return array
}
console.log(unique(arr));

indexOf()會(huì)判斷數(shù)組里面是否含有這個(gè)值,沒(méi)有則返回-1,有則返回存在的數(shù)組下標(biāo)值,有多個(gè)只返回第一個(gè),不再繼續(xù)判斷
for循環(huán)加indexOf,for循環(huán)存在newArr里則什么都不做,不存在則加入新數(shù)組里,返回新數(shù)組

4.利用filter

var arr = [1,2,2,3,3,4,4,1,5,6,6,5];
function unique(arr) {
    return arr.filter( (item, index, arr) => {
        //當(dāng)前元素,在原始數(shù)組中的第一個(gè)索引==當(dāng)前索引值,否則返回當(dāng)前元素
        return arr.indexOf(item) === index;
    });
}
console.log(unique(arr));

filter加indexOf,判斷當(dāng)前的索引值等不等于indexOf返回的索引值,等于就是同一個(gè)數(shù)組項(xiàng),不等于的情況就是當(dāng)前的item是第二次出現(xiàn),而indexOf判斷出來(lái)的下標(biāo)值還是第一個(gè),這一項(xiàng)則不會(huì)返回,所以達(dá)到了去重的要求

更多關(guān)于JS數(shù)組去重的方法請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • JS刪除數(shù)組中某個(gè)元素的四種方式總結(jié)

    JS刪除數(shù)組中某個(gè)元素的四種方式總結(jié)

    js刪除指定元素方法有很多,下面這篇文章主要給大家介紹了關(guān)于JS刪除數(shù)組中某個(gè)元素的四種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 技術(shù)男用來(lái)對(duì)妹子表白的百度首頁(yè)

    技術(shù)男用來(lái)對(duì)妹子表白的百度首頁(yè)

    這篇文章主要介紹了技術(shù)男用來(lái)對(duì)妹子表白的百度首頁(yè),非常有創(chuàng)意、有意思,需要的朋友可以參考下
    2014-07-07
  • Javascript異步編程之你真的懂Promise嗎

    Javascript異步編程之你真的懂Promise嗎

    這篇文章主要介紹了Javascript異步編程之Promise,想了解異步編程和Promise的同學(xué),可以參考下
    2021-04-04
  • javascript加減乘除的簡(jiǎn)單實(shí)例

    javascript加減乘除的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇javascript加減乘除的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • JS輪播圖的實(shí)現(xiàn)方法2

    JS輪播圖的實(shí)現(xiàn)方法2

    這篇文章主要為大家詳細(xì)介紹了JS輪播圖的具體實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 一文帶你理解JavaScript 觀察者模式

    一文帶你理解JavaScript 觀察者模式

    觀察者模式(Observer Pattern)是一種行為型設(shè)計(jì)模式,它定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽(tīng)某一個(gè)主題對(duì)象,本文將帶你詳細(xì)了解JavaScript 觀察者模式,,需要的朋友可以參考下
    2023-05-05
  • JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片實(shí)例代碼

    JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片實(shí)例代碼

    大家都知道Swiper(Swiper master)是目前應(yīng)用較廣泛的移動(dòng)端網(wǎng)頁(yè)觸摸內(nèi)容滑動(dòng)js插件。下面這篇文章主要給大家介紹了在JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • 動(dòng)態(tài)添加刪除表格行的js實(shí)現(xiàn)代碼

    動(dòng)態(tài)添加刪除表格行的js實(shí)現(xiàn)代碼

    本篇文章主要是對(duì)動(dòng)態(tài)添加刪除表格行的js實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • 使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解

    使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解

    這篇文章主要介紹了使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 一個(gè)炫酷的Bootstrap導(dǎo)航菜單

    一個(gè)炫酷的Bootstrap導(dǎo)航菜單

    這篇文章主要為大家詳細(xì)介紹了一個(gè)炫酷的Bootstrap導(dǎo)航菜單的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論

额济纳旗| 抚州市| 栖霞市| 伊金霍洛旗| 武定县| 仙游县| 博罗县| 贵州省| 阿拉尔市| 基隆市| 襄汾县| 恭城| 贵德县| 章丘市| 布拖县| 明溪县| 年辖:市辖区| 喀喇| 文成县| 黄梅县| 屯留县| 静乐县| 隆安县| 潞西市| 贵德县| 宜昌市| 江口县| 彰武县| 民丰县| 县级市| 庐江县| 靖州| 承德县| 咸丰县| 乐东| 灵山县| 中阳县| 商洛市| 普兰店市| 仙居县| 化德县|