技术文摘
常见的数组去重若干方法
2024-12-31 05:26:25 小编
常见的数组去重若干方法
在 JavaScript 编程中,数组去重是一个常见的需求。以下将介绍几种常见的数组去重方法。
方法一:使用 Set 数据结构
Set 是 ES6 新增的数据结构,它的一个重要特性就是成员的值都是唯一的。我们可以利用这一特性来实现数组去重。
let arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
方法二:使用 filter 方法
filter 方法创建一个新数组,其包含通过提供函数实现的测试的所有元素。
let arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
let uniqueArr = arr.filter((item, index, self) => self.indexOf(item) === index);
console.log(uniqueArr);
方法三:使用 reduce 方法
reduce 方法对数组中的每个元素执行一个提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。
let arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
let uniqueArr = arr.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(uniqueArr);
方法四:先排序再去重
先对数组进行排序,然后依次比较相邻的元素,如果相同则跳过。
let arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
arr.sort((a, b) => a - b);
let uniqueArr = [arr[0]];
for (let i = 1; i < arr.length; i++) {
if (arr[i]!== arr[i - 1]) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr);
在实际应用中,选择哪种数组去重方法取决于具体的场景和需求。例如,如果对性能要求较高,可以优先考虑使用 Set 方法;如果需要在去重的过程中进行一些复杂的逻辑处理,可以选择 reduce 方法。
掌握这些常见的数组去重方法,能够让我们在编程中更加高效地处理数据,提升代码的质量和可读性。
- 在 C++ 项目中集成使用 Golang 的方法
- 块作用域与全局作用域和PHP中命名空间概念是否相关
- C++函数泛型编程:泛型编程于元编程中的应用?
- 解决PHP命名空间冲突和歧义的方法
- C++函数泛型编程的好处及应用
- PHP中函数的块作用域和全局作用域如何定义
- C++函数泛型编程及其在大型项目中的应用
- 怎样利用基准测试评估 Golang 函数性能
- PHP函数中块作用域与全局作用域的概念
- Golang函数性能优化工具盘点
- Go函数与其他gRPC服务的交互使用
- Golang函数性能与代码复杂度关系剖析
- C++函数泛型编程中第三方库和框架的利用方法
- C++函数泛型编程下内存安全泛型代码的实现方法
- C++函数泛型编程中模板特例化的奥秘