首页 > 开发 > JS > 正文

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

2024-05-06 16:47:46
字体:
来源:转载
供稿:网友

方法一:

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

方法二:

采用数组中的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: "哈哈"}]

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表