您的位置:首页 > 教程笔记 > 前端笔记

js怎么去重数组

2024-06-22 12:20:50 前端笔记 171

如何使用 JavaScript 数组去重

引言
JavaScript 数组中可能会包含重复的元素,在某些情况下,我们需要对其进行去重操作,以获得一个不包含重复元素的新数组。

方法

1. Set

Set 数据结构具有自动去重功能,我们可以利用它来实现数组去重:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = [...new Set(arr)];

console.log(uniqueArr); // [1, 2, 3, 4, 5]

2. Object

对象中的键是唯一的,我们可以利用此特性来去重数组中的元素:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = [];
const obj = {};

arr.forEach(item => {
  if (!obj[item]) {
    obj[item] = true;
    uniqueArr.push(item);
  }
});

console.log(uniqueArr); // [1, 2, 3, 4, 5]

3. Filter

另一种方法是使用 filter 方法,它允许我们根据条件过滤数组中的元素:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = arr.filter((v, i, a) => a.indexOf(v) === i);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

4. Reduce

Reduce 方法也可以用于去重数组,将其累积为一个不包含重复元素的新数组:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = arr.reduce((acc, cur) => {
  if (!acc.includes(cur)) {
    acc.push(cur);
  }
  return acc;
}, []);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

相关推荐

  • PHP 数组转对象性能调优的技巧有哪些?

    PHP 数组转对象性能调优的技巧有哪些?

    优化 php 数组到对象的转换性能技巧:使用现成的方法(std 类)避免使用复杂的数组缓存转换结果使用 splat 操作符实例化对象池PHP 数组转对象性能调优技巧PHP中将数组转换为对象是

    综合教程 2024-05-03 20:00:16 129
  • PHP数组分页的性能优化策略

    PHP数组分页的性能优化策略

    提高 php 数组分页性能的策略包括:避免使用 foreach 循环,使用 array_slice() 函数。使用 array_chunk() 函数将数组划分为更小的块。通过数据库分页、缓存等策略优化

    综合教程 2024-05-03 20:00:09 91
  • 使用PHP生成器生成数组交集和并集的独特方法

    使用PHP生成器生成数组交集和并集的独特方法

    使用生成器生成数组交集和并集的步骤如下:定义一个生成器函数,使用 yield 返回一个值并记住其当前状态。创建数组交集的生成器,使用 array_intersect() 函数返回一个包含交集中元素的新

    综合教程 2024-05-03 20:00:07 87
  • 基于哈希表的数据结构优化PHP数组交集和并集的计算

    基于哈希表的数据结构优化PHP数组交集和并集的计算

    利用哈希表可优化 php 数组交集和并集计算,将时间复杂度从 o(n * m) 降低到 o(n + m),具体步骤如下:使用哈希表将第一个数组的元素映射到布尔值,以快速查找第二个数组中元素是否存在,提

    综合教程 2024-05-03 20:00:06 24
  • PHP 数组转 JSON 的高效转换

    PHP 数组转 JSON 的高效转换

    php 中高效数组转 json 的方法:直接使用 json_en() 函数。使用 json_force_object 选项强制数组编码为对象。禁用类型检测以提升性能。对于性能关键应用,可采用手

    综合教程 2024-05-03 20:00:01 107