从javascript数组中删除重复的对象

时间:2015-06-25 04:27:16

标签: javascript

我有一个对象数组

var arr = [
 {id: 1, name: 'Apple'}, {id: 1, name: 'Mango'}, {id: 2, name: 'Pear'}, {id: 2, name: 'Orange'}
];

如何确保arr仅包含唯一对象?

1 个答案:

答案 0 :(得分:0)

使用 Array.filter 。当into filter函数返回true时,将维护该元素。创建临时变量idsMemo是为了存储并检查 id 是否已存在。

var arr = [{id: 1, name: 'Apple'}, {id: 1, name: 'Mango'}, {id: 2, name: 'Pear'}, {id: 2, name: 'Orange'}]
var idsMemo = [];
arr = arr.filter(function(obj){
  return idsMemo.indexOf(obj.id) == -1 ? !!idsMemo.push(obj.id) : false
});

document.write(JSON.stringify(arr))

相关问题