JSは1文字列の中で最も多く出現した文字を判断して回数を統計する
12433 ワード
タイトル
1つの関数を書いて、1つの文字列の中で最も多くの文字が現れたことを判断し、この文字が現れた回数を統計します.たとえば、「daskljahiagnaknscsjdwfanalvnahdpwod」という文字列があります.
解題方法
1-遍歴比較
実行結果
出現回数が最も多い文字は:a出現回数:7
2-文字のソート照合、配列を巡って文字が同じかどうかを確認します.
結果は次のとおりです.
daskljahiagnaknscsjdwfanalvnahdpwod aaaaaaacddddfghhijjkkllnnnnopsssvww
本題については、すべてのコードは以下の通りです.
実行結果
[<16 empty items>,a:7,c:1,d:4,f:1,g:1,h:2,i:1,j:2,k:2,l:2,n:4,o:1,p:1,s:3,v:1,w:2]出現回数が最も多い文字は、a出現回数:7
1つの関数を書いて、1つの文字列の中で最も多くの文字が現れたことを判断し、この文字が現れた回数を統計します.たとえば、「daskljahiagnaknscsjdwfanalvnahdpwod」という文字列があります.
解題方法
1-遍歴比較
var str = "daskljahiagnaknscsjdwfanalvnahdpwod";
function max() {
var o = {
};
for (var i = 0; i < str.length; i++) {
//
var item = str.charAt(i);
if (o[item]) {
o[item]++;
} else {
o[item] = 1;
}
}
var max = 0; //
//
for (var key in o) {
if (max < o[key]) {
max = o[key];
var tmp;
tmp = key;
}
}
console.log(" :" + tmp + " :" + max);
}
max(str);
実行結果
出現回数が最も多い文字は:a出現回数:7
2-文字のソート照合、配列を巡って文字が同じかどうかを確認します.
var x = "daskljahiagnaknscsjdwfanalvnahdpwod";
var y = x.split("").sort().join("");
console.log(x)
console.log(y)
結果は次のとおりです.
daskljahiagnaknscsjdwfanalvnahdpwod aaaaaaacddddfghhijjkkllnnnnopsssvww
本題については、すべてのコードは以下の通りです.
var x = "daskljahiagnaknscsjdwfanalvnahdpwod";
var y = x.split("").sort().join("");
function move(str){
result = []; //
// console.log(n);
var key; //
for (var i = 0; i < str.length; i++) {
var key;
for(;str[i] != str[i+1];i++){
// console.log(str[i]);
if(result.length==0){
result[str[i]] = i + 1; // i
}else{
result[str[i]] = i-key;
}
result.length++; // result[str[i]] = i + 1; , ,
key = i;
}
}
console.table(result); //
var max = 0; //
var tmp;
for (index in result){
if (max < result[index]) {
max = result[index];
tmp = index;
}
}
console.log(" :" + tmp + "
:" + max);
}
move(y);
実行結果
[<16 empty items>,a:7,c:1,d:4,f:1,g:1,h:2,i:1,j:2,k:2,l:2,n:4,o:1,p:1,s:3,v:1,w:2]出現回数が最も多い文字は、a出現回数:7