list: [{ id: '1', name: '11' }, { id: '2', name: '22' }, { id: '4', name: '44' }, { id: '4', name: '44' }, { id: '5', name: '55' }, { id: '6', name: '66' }, ]
方法一:javascript
采用对象访问属性的方法,判断属性值是否存在,若是不存在就添加。(利用对象访问属性的方法,判断对象中是否存在key)java
var result = []; var obj = {}; for (var i = 0; i < this.list.length; i ++) { if(!obj[this.list[i].id]){ result.push(this.list[i]); obj[this.list[i].id] = true; } } console.log('数组对象去重:',result);
方法二:数组
采用数组中的reduce方法,遍历数组,也是经过对象访问属性的方法(利用reduce方法遍历数组,reduce第一个参数是遍历须要执行的函数,第二个参数是item的初始值)函数
var obj = {}; this.list = this.list.reduce(function(item, next) { obj[next.id] ? '' : obj[next.id] = true && item.push(next); return item; }, []); console.log('数组对象去重:',this.list);