1.利用Set去重
function unique(arr){
return Array.from(new Set(arr))
}
⭐然而当有多个{}空对象时,无法去重
2.双重for循环,然后利用splice去重
function unique(arr){
let length = arr.length
for(let i=0; i<length;i++){
for(let j = i+1; j<length;j++){
if(arr[i] == arr[j]){
arr.splice(j,1)
j--
}
}
}
}
3.利用indexOf去重
function unique(arr){
let array = []
let length = arr.length
for(let i=0;i<length;i++){
if(array.indexOf(arr[i])===-1){
array.push(arr[i])
}
}
return array
}
4.利用filter
function unique(arr){
return arr.filter(function(item,index,arr){
// 0代表从头开始索引
return arr.indexOf(item,0) === index
})
}
5.利用includes
function unique(arr){
let array = []
let length = arr.length
for(let i=0; i < length; i++){
if(!array.includes(arr[i])){
array.push(arr[i])
}
}
}
五种JS数组去重方法
本文介绍了五种使用JavaScript实现数组元素去重的方法:利用Set特性直接去重、通过双重for循环配合splice操作去重、借助indexOf进行选择性添加去重、采用filter结合indexOf实现去重以及使用includes辅助数组构建完成去重。每种方法都有其适用场景及局限性。
303

被折叠的 条评论
为什么被折叠?



