js数组去重并统计重复个数

方法一.利用正则和reduce()

 var str = 'askbuasdjjkasjdixcjasa'
        var arr = str.split('').sort().join('').match(/([a-z])\1*/g)
        var result = arr.reduce(function(value,item){
            // console.log(value,item);
            return value+item[0]+"{"+item.length+"}"
        },"")
     console.log(result);

        用这个方法现将字符串用split()转成数组,在用sor()进行排序,将排过序的数组用join()转成字符串

利用正则match(/([a-z])\1*/g)群组进行查找.通过reduce累加,进行字符串拼接.

方法二.用for each遍历数组

    var str = 'askbuasdjjkasjdixcjasa'
    var arr = str.split('').sort().join('').match(/([a-z])\1*/g)
    var result = "";
        arr.forEach(function(item){
            result += item[0]+"{"+item.length+"}"
        })

        console.log(result);

         方法二和方法一大致相同,都是通过正则来获取群组,最后拼接字符串完成目的.

你可能感兴趣的:(javascript,前端,开发语言)