项目中,我们常用的数组往往是数组对象,本文也就数组对象的重复与否,找出重复项,去掉重复项等来分析做法。
案例为:
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('重复了')}找出重复项//接着以上代码letplicates=newArrDuplicateDelete.forEach((item)=>{consti=plicates.indexOf(item)plicates=plicates.slice(0,i).concat(plicates.slice(i+1,plicates.length))})console.log(plicates)//结果为"张三"其他数组对象去重方法//用rece去重重复项letobj={};arr=arr.rece(function(item,next){obj[next.name]?'':obj[next.name]=true&&item.push(next);//如果name为'',放入next中,已经存在的就跳过了returnitem;},[]);console.log(arr);小结本质在于遍历时拿到数组对象中的某一对键值对来进行操作。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。