一沪蓬、檢查出現(xiàn)最多的字符串排序
1彤钟、兩個(gè)循環(huán),利用charAt方法
var str = '1111111111ssssssssssxxxxsaffwqdqwqw';
var obj = {};
for (var i = 0; i < str.length; i++) {
if (!obj[str.charAt(i)]) {
//如果不存在 就將當(dāng)前值添加到j(luò)son中去
obj[str.charAt(i)] = 1;
} else {
//else的話就讓數(shù)組中已有的當(dāng)前值的index值++跷叉;
obj[str.charAt(i)]++;
}
}
console.log(obj);
//出現(xiàn)次數(shù)最多的值和次數(shù)
var number = '';
var total=0;
//遍歷json 使用打擂算法統(tǒng)計(jì)需要的值
for (var i in obj) {
//如果當(dāng)前項(xiàng)大于下一項(xiàng)
if (obj[i]>total) {
//就讓當(dāng)前值更改為出現(xiàn)最多次數(shù)的值
total = obj[i];
number = i;
}
}
//最終打印出現(xiàn)最多的值以及出現(xiàn)的次數(shù)
console.log('出現(xiàn)最多的值是'+number+'出現(xiàn)次數(shù)為'+total);
下面是第二種方式
2逸雹、利用對(duì)象的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;
}