統計字串中字元數量
阿新 • • 發佈:2018-12-26
1.統計字串中字元數量
比如 ‘asdssddaag’
a:3 d:3 s:3 g:1
function countLt (str) { var json = {}; for(var i = 0; i < str.length ; i++){ if( !json[str[i]] ){ json[str[i]] = 1; } else{ json[str[i]] += 1; } } return json; }
思路:建立一個物件,遍歷字串,判斷是否存在,如果不存在,動態新增該字元為屬性,同時設定該屬性的值為1,如果存在,說明之前被建立過並賦值,此時將該值+1
2.找到字串中第一個重複的字元
比如 ‘asdfgafs’
第一個重複出現的字元為: a
思路是 判斷物件中屬性是否存在,存在就把該str[i] 賦值 target, 跳出迴圈,return target ,這裡用了三元運算子
function countLt (str) { var json = {},targetStr; for(var i = 0; i < str.length ; i++){ !json[str[i]] ? json[str[i]] = 1 : targetStr = str[i]; } return targetStr; }
3.找出字串中重複次數最多的字元
思路是 設定一個 maxNum = 1, maxNum。
function countLt (str) { var json = {}; var maxNum = 1,maxStr =''; for(var i = 0; i < str.length ; i++){ if( !json[str[i]] ){ json[str[i]] = 1; } else{ json[str[i]] += 1; } if(json[str[i]] > maxNum){ maxNum = json[str[i]]; maxStr = str[i]; } } var log = 'maxNum: ' + maxNum + ' maxStr: ' + maxStr; return log; }