ES6 數組內對象去重

image.png

去重Set

const arr = ['張三','張三','三張三']
let set = new Set(arr); // set 自帶去重
// Set { '張三', '三張三' }
console.log(set);
console.error(Array.from(set)); // [ '張三', '三張三' ]
可直接在控制臺粘貼打印 f12
let person = [
     {id: 0, name: "小明"},
     {id: 1, name: "小張"},
     {id: 2, name: "小李"},
     {id: 3, name: "小孫"},
     {id: 1, name: "小周"},
     {id: 2, name: "小陳"},   
];

let obj = {};

let peon = person.reduce((cur,next) => {
    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
    return cur;
},[]) //設置cur默認類型為數組,并且初始值為空的數組
console.log(peon);
// (4) [{…}, {…}, {…}, {…}]0: {id: 0, name: "小明"}1: {id: 1, name: "小張"}2: {id: 2, name: "小李"}3: {id: 3, name: "小孫"}length: 4__proto__: Array(0)

去重reduce

let hash = {};
let config = [{
    name: 2,
    state: true,
    output: 'Y',
}, {
    name: 3,
    state: true,
    output: 'A',
}, {
    name: 5,
    state: true,
    output: 'S',
}, {
    name: 7,
    state: true,
    output: 'B',
}];

config = [...config, {
    name: 3,
    state: false,
    output: 'A',
}]
const newArr = config.reduceRight((item, next) => {
    hash[next.name] ? '' : hash[next.name] = true && item.push(next);
    return item
}, []);
console.log(JSON.stringify(newArr));

// [{"name":3,"state":false,"output":"A"},{"name":7,"state":true,"output":"B"},{"name":5,"state":true,"output":"S"},{"name":2,"state":true,"output":"Y"}]

大神總結:https://www.cnblogs.com/caideyipi/p/7679681.html

原文參考鏈接 https://blog.csdn.net/u010377383/article/details/79645839 (reduce)
https://blog.csdn.net/original_heart/article/details/79491768

擴展文章

js 刪除兩個數組中id相同的對象
image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,086評論 25 708
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,862評論 2 59
  • 本系列出于AWeiLoveAndroid的分享,在此感謝,再結合自身經驗查漏補缺,完善答案。以成系統。 Andro...
    濟公大將閱讀 1,844評論 2 10
  • 夢,是美麗的。尤其是夢到美人。故事是從三個人,一隻戀慕人的狐妖,一個狀元郎與一神佛之界的渡師,棋銀。 ******...
    fishLee閱讀 271評論 0 0
  • 一個人的陌路 [原創詩第95首] 文\戀風 一個人 插著雙手 走著陌生的路 放慢腳步 盲無目的 用鞋丈量著時光與寂...
    戀風2016閱讀 230評論 0 6