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 数据结构 let arr = [1, 2, 2, 3, 4, 4];
    let newArr = [...new Set(arr)];
    console.log(newArr); // [1, 2...

  • es6数组怎么筛选出所有重复项

    可以使用Set数据结构来筛选出所有重复项。Set是ES6新增的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。
    下面是一个使用Set筛选重复...

  • es6正则不能输入英文如何解决

    在ES6正则表达式中,可以使用Unicode字符类来匹配不同语言的字符。您可以使用\p{Letter}来匹配任何Unicode字母字符。这样可以确保正则表达式可以匹配英文字符。<...

  • es6如何判断数组是否包含某个元素

    ES6中可以使用includes()方法来判断一个数组是否包含某个元素。这个方法返回一个布尔值,表示数组是否包含指定的元素。
    语法如下:
    array.includes(se...

  • 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。