1. 程式人生 > >js對陣列內物件去重

js對陣列內物件去重

var array = [{id:1,name:'jack'},{id:3,name:'tom'},{id:3,name:'liwei'},{id:5,name:'lkiki'},{id:5,name:'opoi'},{id:7,name:'lily'}];
    var hash = {};
    array = array.reduce(function (item, next) {
        hash[next.id] ? '' : hash[next.id] = true && item.push(next);
        return item;
        }, []);
    console.log(array);

說明:array數組裡面有5個物件,其中第二個{id:3,name:'tom'}和第三個{id:3,name:'liwei'}中的id屬性重複,如果id是判斷物件重複的條件,那麼使用array.reduce()方法進行去重,執行結果如下
在這裡插入圖片描述

如上紅框裡面只有4個物件