前端面试题 - 数组去重方法总结

数组去重
1. Set

Array.from(new Set(arr))/* 或者 */ [...new Set(arr)]

2. Map 3. Array.prototype.indexOf方法 4. Array.prototype.includes方法 5. Array.prototype.filter方法
function unique(arr) { return arr.filter(function(item, index, arr) { // 若当前元素在原数组中的第一个索引等于当前索引,则返回当前元素 return arr.indexOf(item, 0) === index; }); }

6. Array.prototype.reduce方法 + Array.prototype.includes方法
function unique(arr){ return arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []); }

7. Array.prototype.sort方法

    推荐阅读