檢視字串中出現次數最多的字元以及出現的次數
阿新 • • 發佈:2019-01-08
這裡先補充一下物件的知識點:
例如 var json = {
a:1,
b:2,
c:3
}
console.log(json) // {a:1,b:2,c:3}
console.log(json["a"]) // 1
// 有了上面的列子,開始實現題目的要求
var str = "suibianxiebala";
var json = {};
for(var i = 0; i<str.length; i++){
if(!json[str.charAt(i)]){ // 如果json裡面沒有這一項 就等於1
json[str.charAt(i)] = 1;
}else{ // 否則就累計加
json[str.charAt(i)]++;
}
}
var iMax = 0; // 定義一個出現次數的變數,初始化為0次
var iStr = ""; // 定義一個變量表示出現次數最多的字串,初始化為空
for(var i in json){
if(json[i] > iMax){
iMax = json[i];
iStr = i;
}
}
console.log("出現次數最多的字元是:"+iStr+",出現的次數是:"+iMax+"次") // 這樣輸出的是 i 3次
但是實際上a也是3次, 所以這種寫法是有bug的 應該寫成下面這樣就不會出現這種情況
var iMax = 0;
var iStr = "";
for(var i in json){
if(json[i]>iMax){
iMax = json[i];
}
if(iMax == json[i]){
iStr = i;
console.log("出現次數最多的字元是:"+iStr+",出現的次數是:"+iMax+"次") // 這樣輸出出來的就是 1 3次; a 3次
}
}