第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

前端實現(xiàn)數(shù)組去重的三個辦法

標簽:
JQuery

1、Set结构去重。

这是ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

1 let unique= [...new Set(array)];2 //es6 Set数据结构类似于数组,成员值是唯一的,有重复的值会自动去重。3 //Set内部使用===来判断是否相等,类似'1'和1会两个都保存,NaN和NaN只会保存一个

2、遍历,将值添加到新数组,用indexOf()判断值是否存在,已存在就不添加,达到去重效果。

复制代码

let a = ['1','2','3',1,NaN,NaN,undefined,undefined,null,null, 'a','b','b'];
    let unique= arr =>{
         let newA=[];
        arr.forEach(key => {           if( newA.indexOf(key)<0 ){ //遍历newA是否存在key,如果存在key会大于0就跳过push的那一步             newA.push(key);
           }
        });        return newA;
    }
    console.log(unique(a)) ;//["1", "2", "3", 1, NaN, NaN, undefined, null, "a", "b"]//ps:这个方法不能分辨NaN,会出现两个NaN。是有问题的,下面那个方法好一点。

复制代码

3、遍历,将数组的值添加到一个对象的属性名里,并给属性赋值,对象不能添加相同属性名,以这个为依据可以实现数组去重,然后用Object.keys(对象)返回这个对象可枚举属性组成的数组,这个数组就是去重后的数组。

复制代码

 let a = ['1', '2', '3', 1,NaN,NaN,undefined,undefined,null,null, 'a', 'b', 'b'];
    const unique = arr => {        var obj = {}
        arr.forEach(value => {
            obj[value] = 0;//这步新添加一个属性,并赋值,如果不赋值的话,属性会添加不上去        })        return Object.keys(obj);//`Object.keys(对象)`返回这个对象可枚举属性组成的数组,这个数组就是去重后的数组    }
    console.log(unique(a));//["1", "2", "3", "NaN", "undefined", "null", "a", "b"]

复制代码

 

原文出处:https://www.cnblogs.com/sunery/p/Sunery.html

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消