数组去重
js
// 数组去重
let arr = [1, 1, 2, 2, 3, 5, 4, 4, 5, 5, 6]
console.info('原数组为:', arr)
方法一:利用Set进行数组去重
js
// 利用Set进行数组去重
let setArr = [...new Set(arr)]
console.info('利用Set进行数组去重:', setArr)
方法二:利用for循环进行去重
js
// 利用for循环进行去重
let forArr = []
for(let i = 0; i < arr.length; i++) {
if (!forArr.includes(arr[i])){
forArr.push(arr[i])
}
}
console.log('利用for循环进行去重:', forArr)
方法三:利用indexOf进行数组去重
js
// 利用indexOf进行数组去重
let indexOfArr = []
for(let i = 0; i < arr.length; i++) {
if (indexOfArr.indexOf(arr[i]) === -1){
indexOfArr.push(arr[i])
}
}
console.log('利用indexOf进行数组去重:', indexOfArr)
方法四:利用对象进行数组去重
js
// 利用对象进行数组去重
let tempObj = {}
let objGetArr = []
for(let i = 0; i < arr.length; i++) {
if (!tempObj[arr[i]]) {
tempObj[arr[i]] = 1
objGetArr.push(arr[i])
}
}
console.log('利用对象进行数组去重:', objGetArr)
方法五:利用reduce进行数组去重
js
// 利用reduce进行数组去重
let newArr = arr.reduce((prev, cur) => {
if (prev.includes(cur)){
return prev
} else {
return prev.concat(cur)
}
}, [])
console.info('利用reduce进行数组去重: ', newArr)