JavaScript

超轻量级php框架startmvc

js中数组对象去重的两种方法

更新时间:2020-08-12 10:24:01 作者:startmvc
方法一:采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。方法二:采

方法一:

采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。

方法二:

采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法


var arr = [{
 key: '01',
 value: '乐乐'
 }, {
 key: '02',
 value: '博博'
 }, {
 key: '03',
 value: '淘淘'
 },{
 key: '04',
 value: '哈哈'
 },{
 key: '01',
 value: '乐乐'
 }];
 // 方法1:利用对象访问属性的方法,判断对象中是否存在key
 var result = [];
 var obj = {};
 for(var i =0; i<arr.length; i++){
 if(!obj[arr[i].key]){
 result.push(arr[i]);
 obj[arr[i].key] = true;
 }
 }
 console.log(result); // [{key: "01", value: "乐乐"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]
 // 方法2:利用reduce方法遍历数组,reduce第一个参数是遍历需要执行的函数,第二个参数是item的初始值
 var obj = {};
 arr = arr.reduce(function(item, next) {
 obj[next.key] ? '' : obj[next.key] = true && item.push(next);
 return item;
 }, []);
 console.log(arr); // [{key: "01", value: "乐乐"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

js数组去重方法 js数组对象去重 js中数组对象去重的两种方法