数组里面的对象去重方法
时间: 2023-11-01 22:55:07 浏览: 101
在给定的代码中,有两种方法可以对数组中的对象进行去重:
方法一:使用reduce方法
使用数组的reduce方法可以遍历数组,并通过访问对象属性的方法进行去重。
代码示例:
var obj = {};
var arr = [{ key: '01', value: '乐乐' }, { key: '02', value: '博博' }, { key: '03', value: '淘淘' }, { key: '04', value: '哈哈' }, ...];
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: "貂蝉"}]
方法二:使用循环遍历
另一种方法是使用循环遍历数组,通过判断对象属性是否存在来进行去重。
代码示例:
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: "貂蝉"}]
无论是使用reduce方法还是循环遍历,都可以实现对数组中的对象进行去重。具体选择哪种方法取决于个人偏好和代码的复杂度。
阅读全文