数组去重

ぃ、小莉子 提交于 2020-03-04 03:35:25

一、一般数组去重

第一种(利用splice()方法去重)
splice() 方法用于插入、删除或替换数组的元素。
// 申明一个数组
var arr = [1,3,5,4,3,1,5,7,8,4,7];

function temp(arr){
    for(i=0;i<arr.length;i++){
        for(j=i+1;j<arr.length;j++){
            if(arr[i]==arr[j]){        
                arr.splice(j,1);      
                // 当第一为数于第二位数相同时 裁剪掉第二位数  
                j--;     //原地判断一次 防止遗漏
            }
        }
    }
    return arr;			
}
console.log(temp(arr));	//(6) [1, 3, 5, 4, 7, 8]

第二种(利用indexOf()方法去重)

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。当目标值存在数组时返回其下标,不存在时放回-1,因此我们可以利用这个方法对数组进行去重

function temp2(arr){
var wrap = []; //建立空数组
for(i=0;i<arr.length;i++){
if(wrap.indexOf(arr[i])== -1 ){
// 在空数组里找arr数组的数据 如果没有找到就在空数组内添加
wrap.push(arr[i])
}
}
return wrap
}

console.log(temp2(arr))		//(6) [1, 3, 5, 4, 7, 8]

二、复杂数组去重

arr.map(items=>{
varresult=[]
items.forEach(item=>{
if(!result.find(_item=>JSON.stringify(item)===JSON.stringify(_item))){
result.push(item)
}
})
returnresult
})

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!