例如:求字符串'nininihaoa'中出現(xiàn)次數(shù)最多字符
var str = "nininihaoa";
var o = {};
for (var i = 0, length = str.length; i < length; i++) {
var char = str.charAt(i);
if (o[char]) {
o[char]++; //次數(shù)加1
} else {
o[char] = 1; //若第一次出現(xiàn),次數(shù)記為1
}
}
console.log(o); //輸出的是完整的對象,記錄著每一個字符及其出現(xiàn)的次數(shù)
//遍歷對象,找到出現(xiàn)次數(shù)最多的字符的次數(shù)
var max = 0;
for (var key in o) {
if (max < o[key]) {
max = o[key]; //max始終儲存次數(shù)最大的那個
}
}
for (var key in o) {
if (o[key] == max) {
//console.log(key);
console.log("最多的字符是" + key);
console.log("出現(xiàn)的次數(shù)是" + max);
}
}
結(jié)果如圖所示:

1915776197-5893170a3f0f5_articlex.png