1、双重for循环:不能去掉NAN {}
function unique(arr) {
for(let i=0;i<arr.length;i++) {
for(let j=i+1;j<arr.length;j++) {
if(arr[i]==arr[j]) {
arr.splice(j,1)
j--
}
}
}
return arr
}
2、采用for indexOf:去不掉NAN {} []
function unique(arr) {
let res = []
for(let i=0;i<arr.length;i++) {
if(res.indexOf(arr[i]) === -1) { // 不存在
res.push(arr[i])
}
}
return res
}
3、采用forEach、indexOf对数组进行去重
方法一:
arr.forEach((item,index,arr) => {
arr.indexOf(item) === index ? res.push(item) : ''
})
方法二:
let res = []
arr.forEach(item => {
if(res.indexOf(item) === -1) {
res.push(item)
}
})
4、利用filter():去不掉{} []
arr.filter((item,index,arr) => {
return arr.indexOf(item) === index
})
5、利用includes()包含:
function unique(arr) {
let res = []
for(let i=0;i<arr.length;i++) {
if(!res.includes(arr[i])) { // 如果res不包含就push
res.push(arr[i])
}
}
return res
}
6、Array.form(new set(arr))