在微信小程序中使用 JavaScript 实现数组去重是一个常见的操作,你可以采用多种方法来实现。以下是几种常见的方式:
1. 使用 Set(ES6+)
使用 ES6 中的 Set 数据结构,由于 Set 中的元素是唯一的,可以帮助我们快速去重。
let array = [1, 2, 2, 3, 4, 4, 5]; let uniqueArray = [...new Set(array)]; console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]
2. 使用 Array.prototype.filter()
利用 Array 的 filter 方法结合 indexOf 或者 includes 方法进行去重。
let array = [1, 2, 2, 3, 4, 4, 5]; let uniqueArray = array.filter((item, index, self) => { return self.indexOf(item) === index; }); console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]
3. 使用 forEach 遍历
通过 forEach 遍历原始数组,将不重复的元素存入一个新数组。
let array = [1, 2, 2, 3, 4, 4, 5]; let uniqueArray = []; array.forEach(item => { if (!uniqueArray.includes(item)) { uniqueArray.push(item); } }); console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]
4. 使用 reduce 方法
结合 reduce 方法,逐个比较并向结果数组中添加不重复的元素。
let array = [1, 2, 2, 3, 4, 4, 5]; let uniqueArray = array.reduce((accumulator, currentValue) => { if (!accumulator.includes(currentValue)) { accumulator.push(currentValue); } return accumulator; }, []); console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]