js数组去重的五种方式
1.第一种方式就是最简单的set去重:var aa=[23,45,23,23,34,2,34,66,78];var aa=new set(aa);console.log(aa);2.第2种方法就是用indexOf()来去重:var sum=[ ];//给它一个空的数组for(var i=o;i<aa.Length;i++){//如果没有找到字符串,则返回-1,检索是否存在。if(sum.in
·
1.第一种方式就是最简单的set去重:
var aa=[23,45,23,23,34,2,34,66,78];
var aa=new set(aa);
console.log(aa);
2.第2种方法就是用indexOf()来去重:
var sum=[ ];//给它一个空的数组
for(var i=o;i<aa.Length;i++){
//如果没有找到字符串,则返回-1,检索是否存在。
if(sum.indexOf(aa[i]>=0){
continue;//结束本次循环
}else{
sum.push(aa[i]);
}
}
console.log(sum);
3.第三种方式是用sort排序后去重
function fn(arr){
let newArr = []
arr.sort((a,b)=>{
return a-b
})
arr.forEach((val,index)=>{
if(val != arr[index+1]){
newArr.push(val)
}
})
return newArr;
}
4.第四种方式是数组去重,根据里面相同的ID去重,键值
var str=[
{name:"张三",id:1},
{name:"李四",id:2},
{name:"王五",id:2},
{name:"小明",id:3},
{name:"小兰",id:1},
];
//申请数组
var result=[];
//声明对象
var obj={};
for(var i=0;i<str.Length;i++){
if(!obj[str[i].id]){
result.push(str[i]);
obj[str[i].id]=true;
}
}
console.log(result);
5.第五种普通去重的方式
for(var i=0;i<aa.length;i++){
for(var j=i+1;j<aa.length;j++){
if(aa[i]==aa[j]){
//索引,删除长度,有点个参数则添加
aa.splice(j,1);
//删除两个或三个以上相同的值
j--;
}
}
}
console.log(aa);
更多推荐
已为社区贡献3条内容
所有评论(0)