js怎么去重数组
如何使用 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]
上一篇:js怎么给对象赋值
下一篇:js隐藏div怎么设置
相关推荐
-
PHP 数组转对象性能调优的技巧有哪些?
优化 php 数组到对象的转换性能技巧:使用现成的方法(std 类)避免使用复杂的数组缓存转换结果使用 splat 操作符实例化对象池PHP 数组转对象性能调优技巧PHP中将数组转换为对象是
-
PHP数组分页的性能优化策略
提高 php 数组分页性能的策略包括:避免使用 foreach 循环,使用 array_slice() 函数。使用 array_chunk() 函数将数组划分为更小的块。通过数据库分页、缓存等策略优化
-
使用PHP生成器生成数组交集和并集的独特方法
使用生成器生成数组交集和并集的步骤如下:定义一个生成器函数,使用 yield 返回一个值并记住其当前状态。创建数组交集的生成器,使用 array_intersect() 函数返回一个包含交集中元素的新
-
基于哈希表的数据结构优化PHP数组交集和并集的计算
利用哈希表可优化 php 数组交集和并集计算,将时间复杂度从 o(n * m) 降低到 o(n + m),具体步骤如下:使用哈希表将第一个数组的元素映射到布尔值,以快速查找第二个数组中元素是否存在,提
-
PHP 数组转 JSON 的高效转换
php 中高效数组转 json 的方法:直接使用 json_en() 函数。使用 json_force_object 选项强制数组编码为对象。禁用类型检测以提升性能。对于性能关键应用,可采用手