侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

js去重的几种方式(教你js去重的4种实用方法)

2022-06-20 星期一 / 0 评论 / 0 点赞 / 43 阅读 / 5589 字

在我们前端开发工作中,经常要用JavaScript的对数据进行去重处理;js去重的方法有很多中;今天就教你js去重的4种实用方法,先排序后去重、indexOf去重、双重for循环去重和Set去重方法。方法1:先排序后去重1)对数组进行双重循环

在我们前端开发工作中,经常要用JavaScript的对数据进行去重处理;js去重的方法有很多中;今天就教你js去重的4种实用方法,先排序后去重、indexOf去重、双重for循环去重和Set去重方法。

js去重的几种方式

方法1:先排序后去重

1)对数组进行双重循环;如果外循环的值大于内循环的值;就利用第三方变量对其交换值 ;这儿也可以用 sort

a.sort((a,b)=>{return a-b}); // 排序

2)当排序完成以后;再次循环进行比较相邻的两个值

var a =[1,2,3,4,5,2,3,5,5,5,5]function info(a){            var arr = []            for(var i=0;i<a.length;i++){                for(var j=0;j<a.length-1;j++){                    if(a[i]>a[j]){                        var list = a[i]                        a[i] = a[j]                        a[j] = list                    }                }            }            for(var e=0;e<a.length;e++){                if(a[e] != a[e+1]){                    arr.push(a[e])                }            }            return arr }        let list = info(a)        console.log(list); // 输出结果 [1, 2, 3, 4, 5]

方法2:indexOf去重

此去重主要是利用 indexOf 去查找是否有相同的值;如果没有就返回-1

var a =[1,2,3,4,5,2,3,5,5,5,5]function info(arr){            let a = []            for(var i in arr){                if(a.indexOf(arr[i])==-1){                    a.push(arr[i])                }            }            return a  }        let list = info(a)        console.log(list); // 输出结果 [1, 2, 3, 4, 5]

方法3:双重for循环去重

z这儿需要注意一点的就是内循环的时候不要 a.length-1;否则的话就会出现[1, 2, 3, 4, 5, 5]这个结果

var a =[1,2,3,4,5,2,3,5,5,5,5]for(let i=0;i<a.length;i++){            for(let j=i+1;j<a.length;j++){                if(a[i]===a[j]){                a.splice(j,1);                    j--;                }            }     }  console.log(a); // 输出结果 [1, 2, 3, 4, 5]

方法4:Set去重

set去重应该说是简单的去重方式了

var a = [1,2,3,4,5,2,3,5,5,5,5]let list = [...new Set(a)]console.log(list); // 输出结果 [1, 2, 3, 4, 5]

广告 广告

评论区