ES6
let arr = [1, 2, 2, 3, 4, 100, 2, 100, 7, 7];
function unique(arr){
// return Array.from(new Set(arr))
return [...new Set(arr)]
}
unique(arr)
Array.from将类数组对象和可遍历的对象转换为数组 阮一峰ES6
ES5
// 返回新数组 indexOf方法
let arr = [1, 2, 2, 3, 4, 100, 2, 100, 7, 7];
let newArr = []
arr.map((item) => {
return newArr.indexOf(item) === -1 ? newArr.push(item) : ''
})
console.log(newArr)
// 返回新数组 filter方法
let arr = [1, 2, 2, 3, 4, 100, 2, 100, 7, 7];
let newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index
})
console.log(newArr)
// 原数组操作 splice方法
let arr = [1, 2, 2, 3, 4, 100, 2, 100, 7, 7];
let newArr = []
for (let i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i])
} else {
arr.splice(i, 1)
i--
}
}
console.log(arr)
// 对象的属性不能重复的特性
function del(arr) {
let obj = {}
let t = []
for (let i = 0; i < arr.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = 1
t.push(arr[i])
}
}
return t
}