美文网首页vueJs使用ES6
ES6 数组内对象去重

ES6 数组内对象去重

作者: 阳光之城alt | 来源:发表于2018-12-02 13:13 被阅读0次
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

相关文章

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • ES6 数组内对象去重

    去重Set 可直接在控制台粘贴打印 f12 去重reduce 大神总结:https://www.cnblogs.c...

  • js数组扁平化和数组去重处理(对比)

    数组扁平化(多维数组)(es6) 数组去重 (es6) 数组去重(es5)

  • ECMAScript6 - 学习笔记 整理 - 3

    对象新增方法 数组去重 ES6 新构造函数方法

  • 数组去重与深浅拷贝

    数组去重 1, 数组去重 ES6的set 方法 对象属性存在的特性,如果没有该属性则存入新数组 indexof 方...

  • 数组:扁平化、去重、深拷贝

    数组扁平化 数组去重 1、ES6 Set 去重 利用对象的属性不会重复这一特性,校验数组元素是否重复 深拷贝

  • 技术乱炖

    es6数组去重法 Set对象进行去重,但是返回的是一个对象,需要使用Array.from()方法从一个类似数组或可...

  • 常用的小方法(持续添加中...)

    1、数组套对象排序(根据对象内的某个键进行排序) 2、数组套对象去重(根据某个键值进行去重) 3、获取当前之前某天...

  • 数组去重

    基础类型数组去重 ES5 ES6 复杂类型数组去重 ES5 ES6

  • js:数组去重

    数组去重的常见写法: 数组去重封装成方法: es6的数组去重(Array.from):

网友评论

    本文标题:ES6 数组内对象去重

    本文链接:https://www.haomeiwen.com/subject/yojjcqtx.html