方法1: 使用 es6 set 方法 [...new Set(arr)]
let arr = [0,0,5,5,9,8,1,5,4]
let uniqq = [...new Set(arr)]
console.log(uniqq)
方法2:利用indexOf()查找是否有相同元素
let arr = [0,0,5,5,9,8,1,5,4]
const unique = []
for(var key of arr) {
unique.indexOf(key) === -1 && unique.push(key)
}
console.log(unique);
方法3:利用filter过滤数组
let arr = [0,0,5,5,9,8,1,5,4]
let unique = arr.filter((it,index)=> {
return arr.indexOf(it) === index
})
console.log(unique);
方法4:利用 Map 数据结构去重
let arr = [0, 0, 5, 5, 9, 8, 1, 5, 4]
let seen = new Map();
const unique = arr.filter((item) => {
return !seen.has(item) && seen.set(item,1);
});
console.log(unique);
方法5:利用循环和includes
let arr = [0, 0, 5, 5, 9, 8, 1, 5, 4]
let unique = []
for (var key of arr) {
!unique.includes(key) && unique.push(key)
}
console.log(unique);
方法6:双重for循环和splice
let arr = [0, 0, 5, 5, 9, 8, 1, 5, 4]
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1); j--;
}
}
}
console.log(arr);