可以使用ES6中的Set和Array.from()方法来实现对象数组的去重。

例如,假设有如下对象数组:

const arr = [
  {id: 1, name: 'John'},
  {id: 2, name: 'Jane'},
  {id: 1, name: 'John'},
  {id: 3, name: 'Bob'}
];

则可以通过以下代码将其去重:

const uniqueArr = Array.from(new Set(arr.map(obj => JSON.stringify(obj)))).map(str => JSON.parse(str));

解释:

  1. 使用map()方法将对象数组中每个对象转换为JSON字符串。

  2. 创建一个Set对象来存储这些JSON字符串,从而实现去重。

  3. 使用Array.from()方法将Set对象转换为数组。

  4. 再次使用map()方法将JSON字符串转换回对象,最终得到去重后的对象数组。

注意:这种方法的缺点是,如果对象数组中的对象属性顺序不同,将无法去重。因此建议在使用之前先将对象属性按照某种规则排序。

js对象数组去重

原文地址: http://www.cveoy.top/t/topic/bESd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录