set去重
function unique(arr) {
return [...new Set(arr)]
}
双重for循环去重
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
}
利用indexOf去重
function unique(arr) {
let array = []
for (let i = 0; i < arr.length; i++) {
if (array.indexOf(arr[i]) === -1) {
array.push(arr[i])
}
}
return array
}
利用includes去重
function unique(arr) {
const array = []
for (let i = 0; i < arr.length; i++) {
if (!array.includes(arr[i])) {
array.push(arr[i])
}
}
return array
}
利用reduce去重
function unique(arr) {
return arr.reduce((prev, current) => {
if (!prev.includes(current)) {
prev.push(current)
}
return prev
}, [])
}