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);