js两种简单去重

本文介绍了三种在JavaScript中去除数组重复元素的方法:1) 使用reduce实现去重,2) 利用forEach创建新数组并去重,3) 使用ES6的Set数据结构。示例代码详细展示了每种方法的实现过程,结果均为有效去重后的数组。
摘要由CSDN通过智能技术生成

var arr=[{id:'1', name:'张三'},{id:'1', name:'李四'},{id:'2', name:'王二'},{id:'3', name:'张三'}]

1、使用reduce去重

var obj={};

arr = arr.reduce((val,item)=> {

        // 根据name去重也可根据某个字段去重

        if(!obj[item.name]){

                val.push(item)

                obj[item.name] = true; // 设置true 

        }

        return val;

},[]) 这要初始设置一个空数组,不设置会报错

console.log(arr) 结果是:[{id: '1', name: '张三'},{id: '2', name: '李四'}]

2、使用forEach去重

var brr=[],obj={};

arr.forEach((item,index)=>{

        if(!obj[item.name]){

                brr.push(item)

                obj[item.name] = true;

        }

})

console.log(brr);结果是:[{id: '1', name: '张三'},{id: '2', name: '李四'}]

3、使用es6语法中的new Set()

     const arr = new Set([1,1,2,2,3,4]);  

     console.log(arr); // {1, 2, 3, 4}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值