千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

数组的去重
方法一:使用Set数据结构
可以利用Set数据结构的特性来实现数组的去重,Set中存储的值都是唯一的。
function uniqueBySet(arr) { return [...new Set(arr)]; } const arr = [1, 2, 2, 3, 3, 4, 5, 5]; const uniqueArr = uniqueBySet(arr); console.log(uniqueArr); // [1, 2, 3, 4, 5]
方法二:使用filter方法和indexOf方法
通过filter方法结合indexOf方法,可以筛选出数组中第一次出现的元素,从而实现数组的去重。
function uniqueByFilter(arr) { return arr.filter((item, index) => arr.indexOf(item) === index); } const arr = [1, 2, 2, 3, 3, 4, 5, 5]; const uniqueArr = uniqueByFilter(arr); console.log(uniqueArr); // [1, 2, 3, 4, 5]
方法三:使用reduce方法和includes方法
通过reduce方法结合includes方法,可以迭代数组并将不重复的元素添加到结果数组中,从而实现数组的去重。
function uniqueByReduce(arr) { return arr.reduce((result, item) => { if (!result.includes(item)) { result.push(item); } return result; }, []); } const arr = [1, 2, 2, 3, 3, 4, 5, 5]; const uniqueArr = uniqueByReduce(arr); console.log(uniqueArr); // [1, 2, 3, 4, 5]
方法四:使用Map数据结构
可以利用Map数据结构的特性,其中的键值对可以保证键的唯一性,从而实现数组的去重。
function uniqueByMap(arr) { const resultMap = new Map(); const uniqueArr = []; for (const item of arr) { if (!resultMap.has(item)) { resultMap.set(item, true); uniqueArr.push(item); } } return uniqueArr; } const arr = [1, 2, 2, 3, 3, 4, 5, 5]; const uniqueArr = uniqueByMap(arr); console.log(uniqueArr); // [1, 2, 3, 4, 5]
以上就是几种常用的数组去重方法,根据具体需求选择合适的方法,可以方便地实现数组去重操作。