开发者社区 问答 正文

请问这个JavaScript的去重代码怎么理解?

function unique(arr){
var obj={};
var uniAfter=[];
for(var i=0;i<arr.length;i++){
if(!obj[arr[i]]){ //()里不理解
uniAfter.push(arr[i]);
obj[arr[i]]=1; //这里不理解
}

}
return uniAfter;
}

展开
收起
小旋风柴进 2016-03-19 10:40:51 1687 分享 版权
1 条回答
写回答
取消 提交回答
  • function unique(arr){
    var obj={};
    var uniAfter=[];
    for(var i=0;i<arr.length;i++){
    if(!obj[arr[i]]){ //对象没有属性arr[i]时if(!obj[arr[i]])相当于if(!(undefined))为true,uniAfter.push(arr[i]);obj[arr[i]]=1;下次数组中有相同值时if(!obj[arr[i]])相当于if(!(1))为false,就进不来了
    uniAfter.push(arr[i]);
    obj[arr[i]]=1;
    }
    
    }
    return uniAfter;
    }
    
    2019-07-17 19:07:35
    赞同 展开评论