前端面试题 - 数组去重方法总结
数组去重
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
方法