js数组里对象的去重方法

直接上代码:

    var aa = [
              {"foo": "22","name": "s"},
              {"foo": "21","name": "sss"},
              {"foo": "22","name": "sddd"},
              {"foo": "25","name": "saaaa"},
              {"foo": "22","name": "seqweqw"},
              {"foo": "22","name": "sqweqw"}
       ];
           /*
           * 解决思路:
           * 定义一个空对象(obj),将唯一的属性值放入这个对象。
           * 在每次循环数组的时候,
           * 如果当前数组对象中的某个属性值(这里我假设是“foo”)与obj的属性名不重复,
           * 则将当前的对象添加到新的数组中。
           */
  let removeItem = (arr) => {
        let myarr = [], myobj = {};
	    arr.map((current,index)=>{
			myobj[current.foo] ? '' : myobj[current.foo] = index && myarr.push(current);
	    });
	    return myarr;
	  }
  let bb = removeItem(aa);  
  //[{"foo":"21","name":"sss"},{"foo":"22","name":"sddd"},{"foo":"25","name":"saaaa"}]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值