今天在網上看面試題的時候,發現了這個問題---獲取字符串中出現最多的字符並彈出其次數。百度了許多,看不大懂。然後自己學着去寫了一個
一、怕自己忘記了 二、希望能幫助到其他的初學者,我也是小白,所以代碼比較簡單。同時註釋比較多 方便理解!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
window.οnlοad=function () {
var str = 'afaafdff';
var obj ={}; //定義一個obj對象
//利用str.charAt(i)進行字符串截取
for(var i=0;i<str.length;i++){
if(!obj[str.charAt(i)]){ //判斷對象中是否有這個字符
obj[str.charAt(i)] = 1; //沒有就保存一個
}else{
obj[str.charAt(i)]++; //有的話就加一
}
}
// 到了這裏 obj就成了這樣的
// obj[f] = 4
// obj[a]= 2
// .....
//
var time = 0; //聲明一個變量準備接受次數
var index = ''; //聲明一個變量準備接受字符
//用打擂算法循環輸出obj中保存的數據
for(var i in obj){ //i都代表着obj對象的鍵值(也就是字符)
if(obj[i]>time){
time = obj[i];
index = i;
//運行下面一段程序 就可以清楚看到 每個字符出現的次數爲幾次
//ps註釋掉上面的2句才行 否則後面出現少的次數就被多的給沖掉了
// alert(i+'字符,出現了'+obj[i]+'次');
}
}
alert('次數'+time +',字符:'+index)
}
</script>
</head>
<body>
</body>
</html>
謝謝!