1. 一个简单的方式, 但是又与太简单已被在面试中禁用
function my_sort(arr){
return [...new Set(arr)]
}
2. 使用api的去重方式
function my_sort(arr){
let newArr = []
for(let val of arr){
if(newArr.indexOf(val) === -1){
newArr.push(val)
}
}
return newArr
}
3. 尽量不使用api的方法
function my_sort(arr){
// 创建一个映射实例
let map = new Map()
for(let i = 0, len = arr.length; i < len; i++){
// 若该映射实例中没改映射则添加该映射
if(!map[arr[i]]){
map.set(arr[i], true)
}
}
// 将映射中的key取出创建一个新数组返回
return [...map.keys()]
}
注: 使用哪种就看大家的兴趣了!