字符串 str = "ahasdaskdasdasjdnas";
問題:將此字符串出現次數最多的字母打印出來;
思路:申請一個json對象,遍歷字符串將字符串的字母作為屬性添加到json對象上,字母出現的次數做屬性值;
遍歷對象屬性,將屬性值最大的打印即可
代碼:
function index(str){ var json = {}; // 先聲明一個json形式的變量來存取字符串的元素,{a:1,b:3,c:4} for (var j=0;j<str.length;j++){ if(!json[str.charAt(j)]){ json[str.charAt(j)] = 1; }else { json[str.charAt(j)]++; } }; // 用一個for循環進所有的字符串元素放在一個json對象中當住屬性,對象的屬性值就是出現的個數 console.log(json); var iMax = 0; var iIndex = ""; for (var i in json){ // for in 遍歷該對象,並依次比較屬性值求出最大的值並輸出該屬性即可 if(json[i] > iMax){ iMax = json[i]; iIndex = i } } document.write("1、在此字符串中出現次數最多的是"+iIndex+"出現了"+iMax+"次</br>" ); }