一、检查出现最多的字符串排序
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;
}
网友评论