数组去重、字符串去重、找重复数归纳

最近收集了些关于字符串数组去重,找重复数的方法,记录于下,分享给大家:

字符串去重,

思路:

先对原来的字符串拆分为数组,然后使用数组方法sort()排序,然后拼接join(),

使用正则方法进行判断,替换重复数:

var str = "safsdfa4353asdf";
 var arr = str.split("");
var arr1 = arr.sort();
var str1 = arr1.join("");
// 以上可以改写为:str.split("").sort().join("")
str = str1.replace(/(.).*\1/g, "$1");

 console.log(str);

数组去重

思路:
主要使用了indexOf()方法查询,代码如下

     var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
    //定义一个新的数组
    var s = [];
    //遍历数组
    for(var i = 0;i<arr.length;i++){
if(s.indexOf(arr[i]) == -1){  //判断在s数组中是否存在,不存在则push到s    数组中
    s.push(arr[i]);
}
}
    console.log(s);

另外,关于正则,还有一个查找出现最多次的验证匹配,代码如下:

    var str = "aaabdfadlfadlsldflsdf";
        var arr = str.split("");
        var tmp = arr.sort(); // [a,a,a,a,b,b,d,d,f,l,s,s,s];
            str = tmp.join("");// 需写引号,否则会含有","
        var str2 = str.match(/(\w)\1*/g); // 正则匹配,注意贪婪匹配
            str = str2.sort(function(a,b) {
                return a.length< b.length;
            } )
            console.log(str); // ["aaaaa", "ddddd", "ffff", "llll", "ss", "b"];
            出现最多的数:str[0][0],出现次数:str[0].length

小结:

正则验证,当我们对字符串做查询验证替换的时候,很有用。
而关于数组,查询是否重复,或者替换重复项的时候,除了循环,还有内置方法,使用得当能带来意想不到的效果。

7-11 记录于教室。
(完)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,267评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,059评论 0 20
  • 1.在成都机场2号专线上拍的成都夜景 2.双流机场排队托运行李和领取登机牌 3.排队过安检 4.托运行李处,工作人...
    Mingjia阅读 482评论 0 0
  • 法律职业资格证书A类、B类、C类的区别,源于司法考试放宽政策。 放宽报名学历条件的适用以报名时户籍为准,填报的...
    斗考网阅读 775评论 0 0