可以使用 Set 数据结构和 Array.from() 方法来实现数组去重。

示例代码:

const arr = [1, 2, 3, 2, 1, 4, 5, 4];

const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]

对于对象数组,可以使用 Array.filter() 方法和 Array.findIndex() 方法来实现对象数组去重。

示例代码:

const objArr = [
  { id: 1, name: 'name1' },
  { id: 2, name: 'name2' },
  { id: 1, name: 'name3' },
  { id: 3, name: 'name4' },
  { id: 2, name: 'name5' },
];

const uniqueObjArr = objArr.filter((item, index, arr) => {
  return arr.findIndex((obj) => obj.id === item.id) === index;
});
console.log(uniqueObjArr);
// [{ id: 1, name: 'name1' }, { id: 2, name: 'name2' }, { id: 3, name: 'name4' }]

这里使用了 Array.filter() 方法和 Array.findIndex() 方法,其中 Array.findIndex() 方法可以返回数组中第一个满足条件的元素的索引,如果没有满足条件的元素,则返回 -1。因此,可以通过比较当前元素的索引和满足条件的元素的索引是否相等,来判断当前元素是否为重复元素。

JavaScript 数组去重:基础类型和对象数组的去重方法

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

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