117.info
人生若只如初见

es6数组和对象去重的方法是什么

在ES6中,可以使用Set数据结构来实现数组和对象的去重。Set是一种特殊的数据结构,它只存储唯一的值,不会出现重复。

对于数组去重,可以将数组转换为Set,然后再将Set转换回数组即可去除重复值。例如:

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5]

对于对象去重,可以先将对象转换为字符串,然后再利用Set去重,最后再将字符串转换回对象。例如:

const array = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' },
  { id: 3, name: 'Charlie' }
];

const uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArray);
// [
//   { id: 1, name: 'Alice' },
//   { id: 2, name: 'Bob' },
//   { id: 3, name: 'Charlie' }
// ]

需要注意的是,Set只能去除基本类型值的重复,对于复杂类型的值,如对象,需要先将其转换为字符串再进行去重。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe32eAzsLAwVXB1E.html

推荐文章

  • es6实现数组去重的方法是什么

    es6中可以使用Set数据结构来实现数组去重。Set是一种集合数据结构,它不允许有重复的元素。我们可以通过将数组转化为Set,然后再将其转化回数组的方式来实现数组...

  • ES6中promise.all的用法是什么

    ES6中的Promise.all是一个静态方法,用于处理多个Promise对象的并行执行。它接受一个Promise对象的数组作为参数,并返回一个新的Promise对象。
    Promise.all...

  • es6怎么遍历数组对象

    在ES6中,我们可以使用for...of循环来遍历数组对象。
    例如,下面是一个数组对象的示例:
    const arr = [1, 2, 3, 4, 5]; for (let item of arr) { cons...

  • es6模板字符串的好处有哪些

    ES6模板字符串有以下几个好处: 可以跨行书写:使用模板字符串可以直接在多行中书写文本,而不需要使用转义字符或者字符串拼接。 可以插入表达式:模板字符串中可...

  • C语言cjson的用法是什么

    CJSON是一个轻量级的JSON解析库,用于解析和生成JSON数据。
    使用CJSON需要以下步骤: 定义一个 cJSON 结构体指针来存储解析后的 JSON 数据。
    cJSON *j...

  • java中怎么用properties读取配置文件

    在Java中,可以使用Properties类来读取配置文件。以下是一个简单的示例: 创建一个配置文件(例如config.properties),并将需要的配置项写入文件中。每个配置项...

  • python中redis封装的方法是什么

    在Python中,常用的Redis封装方法有以下几种: 使用第三方库redis-py封装Redis操作:redis-py是Python中一个常用的Redis客户端库,提供了对Redis的各种操作方法的...

  • mybatisplus分页参数有哪些

    MybatisPlus分页参数有以下几个: current: 当前页码,表示需要查询的页码,默认值为1。
    size: 每页显示的记录数,表示每页显示的记录数量,默认值为10。