js实现数组的去重


数组的去重

当一组数据开始出现有数据重叠实现去掉重复出现的


一、方法一先排序然后在遍历判断

    //数组去重:把数组中重复的项给去掉,
    var arr = [10, 20, 30, 10, 20, 40, 50]; //去重后得到[10, 20,30,40 ,50]
    //-:补充去重的方法1:排序后判断法.
    var arrNew = [];
    //排序
    arr.sort((a, b) => {
        return a - b;
    });
    console.log(arr); //[10,10,20, 20,30,40,50]

    //判断
    arr.forEach((v, i) => {
        if (v != arr[i + 1]) {
            arrNew.push(v);
        }
    });
    console.log(arrNew);//[10, 20, 30, 40, 50]

二、对象法

利用对象的属性的名字不能重复

如下(示例):

//二:补充去重的方法2:使用对象法
    //原理:是利用的对象的属性不能重名.
    //对象的语法复 习:
    // 取值:
    //属性名不存在,取出的是undefined

    //属性名存在,取出的肯定是对应的属性值

    // 赋值:
    //属性名不存在,就相当于是动态的添加属性
    //属性名不存在就修改原来的值
    var obj = {}; //检测有没有重复元素
    var arrNewe = [];
    //去重后存放元素的数组.
    //遍历要去重的数组。
    arr.forEach(v => {
        //判断
        if (obj[v] == undefined) {
            arrNew.push(v); //不存在就把当前这个v存起来.
            obj[v] = 1;//把当前这个元素作为obj对象的属性存进obj对象里.
        }

    });


效果

在这里插入图片描述

作用

为我们处理json数据的时候非常有用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值