首页>>前端>>JavaScript->数组对象重复问题解析

数组对象重复问题解析

时间:2023-11-29 本站 点击:0

数组对象重复问题解析

项目中,我们常用的数组往往是数组对象,本文也就数组对象的重复与否,找出重复项,去掉重复项等来分析做法。

案例为:

vararr=[{"id":1,"name":"张三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"},{"id":2,"name":"张三"}];

判断判断是否重复

vararr=[{"id":1,"name":"张三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"},{"id":2,"name":"张三"}];//用arr的id生成一个新的数组constnewArr=arr.map(value=>value.name)//将这个数组去重constDuplicateDelete=newSet(newArr)//判断两个数组的长度是否相等if([...DuplicateDelete].length===arr.length){console.log('没有重复')}else{console.log('重复了')}

找出重复项

//接着以上代码letduplicates=newArrDuplicateDelete.forEach((item)=>{consti=duplicates.indexOf(item)duplicates=duplicates.slice(0,i).concat(duplicates.slice(i+1,duplicates.length))})console.log(duplicates)//结果为"张三"

其他数组对象去重方法

//用reduce去重重复项letobj={};arr=arr.reduce(function(item,next){obj[next.name]?'':obj[next.name]=true&&item.push(next);//如果name为'',放入next中,已经存在的就跳过了returnitem;},[]);console.log(arr);

小结

本质在于遍历时拿到数组对象中的某一对键值对来进行操作。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/JavaScript/720.html