JavaScript数组去重:Set 与 filter 方法实例解析
在JavaScript中,我们可以使用Set数据结构来判断一个数组中的元素是否重复。Set是一种特殊的对象,它只存储唯一的值,没有重复的元素。下面是一个简单的例子: ```javascript function removeDuplicates(array) { // 使用Set来去重,然后转回数组 return [...new Set(array)]; } // 测试 let array1 = [1, 2, 3, 4, 4, 5]; let array2 = ['a', 'b', 'c', 'a']; console.log(removeDuplicates(array1)); // 输出: [1, 2, 3, 4, 5] console.log(removeDuplicates(array2)); // 输出: ['a', 'b', 'c'] ``` 在这个例子中,`removeDuplicates`函数接收一个数组作为参数,然后创建一个新的Set来去重。由于Set不允许有重复的元素,所以重复的元素会被自动去除。我们使用扩展运算符`...`将Set转换回数组并返回。 注意:这个方法会改变原数组的顺序,如果你需要保持原数组的顺序,可以使用`filter()`方法配合`indexOf()`或者`includes()`方法来实现: ```javascript function removeDuplicates(array) { return array.filter((value, index, self) => self.indexOf(value) === index); } // 测试 let array1 = [1, 2, 3, 4, 4, 5]; let array2 = ['a', 'b', 'c', 'a']; console.log(removeDuplicates(array1)); // 输出: [1, 2, 3, 4, 5] console.log(removeDuplicates(array2)); // 输出: ['a', 'b', 'c'] ``` ######[AI写代码神器 | 367点数解答 | 2024-04-01 17:10:01]
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)348
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)314
- Java 实战:Vehicle 类与 User 类实现机动车速度功率控制( | 968点数解答 | 2024-03-12 11:26:25)562
- 代码深度剖析:从语法纠错到优化,这些要点你必须掌握!(字节豆包 | 1422点数解答 | 2025-11-11 22:44:00)64
- 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
- JavaScript:创建 Animal 类与 Dog 类,重写 speak 方法并实例调用(字节豆包 | 63点数解答 | 2024-10-29 08:20:51)207