1.使用new Set() 这种方法只能处理字符串数组
let arrData = ['西瓜', '西瓜', '奇异果', '奇异果', '苹果', '桃子', '桃子']
let newArr = Array.from(new Set(arrData))
console.log(newArr)
// ['西瓜', '奇异果', '苹果', '桃子']
2.使用indexOf去重,需要搭配for循环
let arrData = ['西瓜', '西瓜', '奇异果', '奇异果', '苹果', '桃子', '桃子']
const arrs = arrData
let repeatArr = []
for(let i = 0, len = arrs.length; i < len; i++) {
if (repeatArr.indexOf(arrs[i]) === -1) {
repeatArr.push(arrs[i])
}
}
console.log(repeatArr)
3.使用filter去重,需要搭配indexOf()
let arrData = ['西瓜', '西瓜', '奇异果', '奇异果', '苹果', '桃子', '桃子']
const arrs = arrData
const testData = arrs.filter((item, index) => arrs.indexOf(item, 0) === index)
console.log(testData)
js数组去重的方法
最新推荐文章于 2024-05-03 11:08:18 发布