几种常见的数组去重及字符串操作!(一)

一、检查出现最多的字符串排序

1、两个循环,利用charAt方法

var str = '1111111111ssssssssssxxxxsaffwqdqwqw';

var obj = {};

for (var i = 0; i < str.length; i++) {

if (!obj[str.charAt(i)]) {

//如果不存在 就将当前值添加到json中去

obj[str.charAt(i)] = 1;

} else {

//else的话就让数组中已有的当前值的index值++;

obj[str.charAt(i)]++;

}

}

console.log(obj);

//出现次数最多的值和次数

var number = '';

var total=0;

//遍历json  使用打擂算法统计需要的值

for (var i in obj) {

//如果当前项大于下一项

if (obj[i]>total) {

//就让当前值更改为出现最多次数的值

total = obj[i];

number = i;

}

}

//最终打印出现最多的值以及出现的次数

console.log('出现最多的值是'+number+'出现次数为'+total);

下面是第二种方式
2、利用对象的hasOwnProperty方法

function count(arr){
            var obj = {};
            for (var i = 0; i < arr.length; i++) {
                var item = arr[i];
                if(obj.hasOwnProperty(item)){
                    obj[item] = obj[item] + 1;
                } else {
                    obj[item] = 1;
                }
            }
            return obj;
        }

你可能感兴趣的:(几种常见的数组去重及字符串操作!(一))