JS 数组对象去重

vararray= [

{a:1,b:2,c:3,d:4},

{a:11,b:22,c:333,d:44},

{a:111,b:222,c:333,d:444},

{a:11,b:22,c:33,d:44},

{a:11,b:22,c:33,d:444}

];

//将对象元素转换成字符串以作比较

functionobj2key(obj,keys){

varn=keys.length,

key= [];

while(n--){

key.push(obj[keys[n]]);

}

returnkey.join('|');

}

//去重操作

functionuniqeByKeys(array,keys){

vararr= [];

varhash= {};

for(vari=0,j=array.length;i

vark=obj2key(array[i],keys);

if(!(kinhash)) {

hash[k] =true;

arr.push(array[i]);

}

}

returnarr;

}

//复制代码

//进行去重

vararr=uniqeByKeys(array,['a','b']);

console.log(JSON.stringify(arr))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容