JavaScript:巧用 Set、filter 和 includes 查找与处理数组重复值
在JavaScript中,你可以使用Set数据结构来查找数组中的重复值。Set是一种特殊的类数组对象,它只存储唯一的值,没有重复的元素。如果你将数组转换为Set,然后再次转换回数组,任何在原始数组中出现两次的元素都会丢失。 以下是一个简单的脚本,用于查找并删除数组中的重复值: ```javascript function removeDuplicates(array) { return [...new Set(array)]; } // 使用示例 let arr = [1, 2, 3, 4, 4, 5, 6, 6, 7]; let uniqueArr = removeDuplicates(arr); console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5, 6, 7] ``` 如果你想找出重复的值,而不是删除它们,你可以使用`filter()`和`includes()`方法: ```javascript function findDuplicates(array) { return array.filter((value, index, self) => { return self.indexOf(value) !== index; }); } // 使用示例 let arr = [1, 2, 3, 4, 4, 5, 6, 6, 7]; let duplicates = findDuplicates(arr); console.log(duplicates); // 输出: [4, 6] ``` 这个脚本会返回一个新数组,其中包含所有在原数组中出现两次的元素。 ######[AI写代码神器 | 301点数解答 | 2024-04-01 16:54:34]
- 代码深度剖析:从语法纠错到优化,这些要点你必须掌握!(字节豆包 | 1422点数解答 | 2025-11-11 22:44:00)64
- JavaScript 代码深度剖析:错误分析、优化方案及注意要点(字节豆包 | 951点数解答 | 2025-11-11 22:46:53)119
- 代码深度剖析:变量、事件处理与 DOM 操作的细节考量(字节豆包 | 139点数解答 | 2024-11-22 23:56:54)236
- 代码修复:打造基于文件列表值的自动完成输入框(讯飞星火 | 630点数解答 | 2024-11-23 00:01:37)241
- jingyu触发规则及过滤条件解析,却遇服务器繁忙! (GPT | 15点数解答 | 2024-06-06 17:40:23)438
- SQL:[pr_createdtables]存储过程代码解析及表创建准备 (字节豆包 | 33点数解答 | 2024-08-29 15:34:33)358
- SQL 修正:创建带唯一索引的 py_plan_opportunity_point 表(阿里通义 | 328点数解答 | 2024-09-04 16:07:48)325
- "MySQL: Creating the 'py_plan_opportunity_point' Table with Unique Location Codes"(阿里通义 | 188点数解答 | 2024-09-04 16:08:40)447
- MySQL:完整创建 py_plan_opportunity_point 表及字段详解(阿里通义 | 348点数解答 | 2024-09-04 16:09:36)293
- "SQL条件判断下的角色数据更新操作揭秘"(GPT | 51点数解答 | 2024-10-22 11:24:35)305
- "Enhanced SQL Script for SRO MMORPG Database: Conditional Updates, Transactions & Logging"(阿里通义 | 969点数解答 | 2024-10-22 11:26:02)381
- 巧用集合:计算输入正整数中等于两数之和的数量(字节豆包 | 558点数解答 | 2025-11-24 19:19:24)48