属性值的唯一性

 取出特定属性值的重复项!!!

let people = [
     {
       id : '001',
       name : 'judy',
       age : '18'
     },
     {
       id : '001' ,
       name : 'wayne',
       age : "19"
     },
     {
       id : '002',
       name : 'zhangsan',
       age :"30"
     },
     {
       id : '003',
       name : 'lisi',
       age : "20"
     }
   ]
function func4(objArray) {
    var result = [];//去重后返回的结果数组
    var temp = {};//临时对象
    //将对象数组中每一项的name值作为属性,若temp不拥有此属性时则为temp添加此属性且将其值赋为true,并将这一项push到结果数组中
    for(var i=0;i<objArray.length;i++){  
        var myname = objArray[i].id;
        if(temp[myname]){//如果temp中已经存在此属性名,则说明遇到重复项
            continue;//不继续执行接下来的代码,跳转至循环开头
        }  
        temp[myname] = true;//为temp添加此属性(myname)且将其值赋为true
        result.push(objArray[i]);//将这一项复制到结果数组result中去
    }  
    return result;  
}

//id是唯一的
console.log(fun4(people)) 
let people = [
     {
       id : '001',
       name : 'judy',
       age : '18'
     },
     {
       id : '002',
       name : 'zhangsan',
       age :"30"
     },
     {
       id : '003',
       name : 'lisi',
       age : "20"
     }
   ]

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值