117.info
人生若只如初见

es6对象数组如何去重

可以使用Set数据结构或者reduce方法来去重。

  1. 使用Set数据结构:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArr);
  1. 使用reduce方法:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = arr.reduce((prev, curr) => {
  let hasDuplicate = prev.some(obj => obj.name === curr.name && obj.age === curr.age);
  if(!hasDuplicate) {
    prev.push(curr);
  }
  return prev;
}, []);
console.log(uniqueArr);

以上两种方法都可以实现对对象数组的去重,根据实际情况选择使用。

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

推荐文章

  • es6怎么判断数组是否包含某个元素

    ES6 中可以使用 includes() 方法来判断数组是否包含某个元素。
    示例代码如下:
    const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true...

  • es6遍历数组的方法有哪些

    ES6中遍历数组的方法有以下几种: for…of循环:通过for…of循环可以依次遍历数组中的每个元素。例如: const arr = [1, 2, 3];
    for (let element of arr) ...

  • es6对象转数组怎么实现

    ES6 提供了一种简洁的方式将对象转换为数组,可以使用 Object.entries() 方法。
    Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列...

  • es6如何删除数组中的某个元素

    在ES6中,可以使用Array.prototype.filter()方法来删除数组中的某个元素。这个方法会创建一个新的数组,其中只包含满足特定条件的元素。可以使用filter方法来过滤...

  • java反编译指令有什么用

    Java反编译指令是用来将已经编译过的Java字节码文件(.class文件)转换回Java源代码文件(.java文件)。这个过程称为反编译。
    反编译指令的主要用途如下: ...

  • Java怎么判断数组是否有重复元素

    可以使用两种方法来判断一个数组是否有重复元素。
    方法一:使用双层循环遍历数组
    public static boolean hasDuplicate(int[] arr) { for (int i = 0; ...

  • c++继承的实现方式有哪几种

    在C++中,有三种继承的实现方式:公有继承、私有继承和保护继承。 公有继承:
    公有继承是最常用的继承方式。使用关键字"public"来声明继承关系,基类中的公...

  • redis怎么查看集群状态

    要查看Redis集群的状态,可以使用以下方法: 使用命令行工具连接到任意一个Redis节点: redis-cli -h -p 输入以下命令查看集群状态: CLUSTER NODES 该命令将会列...