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

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

字符串去重,

思路:

先对原来的字符串拆分为数组,然后使用数组方法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

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

    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 记录于教室。
(完)

你可能感兴趣的:(数组去重、字符串去重、找重复数归纳)