阅读量:3
ES6数组对象去重的方法有多种,以下是其中几种常用的方法:
- 使用Set:可以通过将数组转换为Set来实现去重。Set是ES6新增的数据结构,它允许你存储任何类型的唯一值。可以通过展开运算符(…)将数组转换为Set,然后再将Set转换回数组即可。
const arr = [1, 2, 3, 3, 4, 4, 5]; const uniqueArr = [...new Set(arr)]; console.log(uniqueArr); // [1, 2, 3, 4, 5]
- 使用Array.filter():可以使用Array.filter()方法结合indexOf()方法来实现去重。Array.filter()方法会创建一个新数组,其中包含满足条件的所有元素。可以使用indexOf()方法检查元素在数组中的索引,如果索引等于当前遍历的索引,则表示该元素在数组中是唯一的。
const arr = [1, 2, 3, 3, 4, 4, 5]; const uniqueArr = arr.filter((value, index, self) => { return self.indexOf(value) === index; }); console.log(uniqueArr); // [1, 2, 3, 4, 5]
- 使用Array.reduce():可以使用Array.reduce()方法结合includes()方法来实现去重。Array.reduce()方法将数组中的每个元素依次传入回调函数,并将回调函数的返回值作为下一次调用的累加器。可以在回调函数中使用includes()方法检查累加器中是否已经包含了当前元素,如果不包含则将其添加到累加器中。
const arr = [1, 2, 3, 3, 4, 4, 5]; const uniqueArr = arr.reduce((accumulator, currentValue) => { if (!accumulator.includes(currentValue)) { accumulator.push(currentValue); } return accumulator; }, []); console.log(uniqueArr); // [1, 2, 3, 4, 5]
以上是几种常用的ES6数组对象去重的方法,根据具体的需求和性能要求选择合适的方法。