教你JavaScript利用charAt()統計出現次數最多的字符和次數
之前給大傢介紹過簡介JavaScript中charAt()方法的使用,今天通過本文給大傢分享js統計次數最多的字符和次數的實例代碼,具體內容如下所示:
判斷一個字符串’aabcdobdackoppz’中出現次數最多的字符,並統計其次數
首先我們需要瞭解一個知識點:(如何判斷對象裡有該屬性)
// 有一個對象,來判斷是否有該屬性 // 寫法:對象['屬性名'] var o = { age : 18 , sex : '男' } if(o['sex']){ console.log('裡面有該屬性'); } else { console.log('沒有該屬性'); }
核心算法:
1.我們可以利用 charAt() 這個方法來遍歷這個字符串。
2.把每個字符都存儲給對象,如果對象沒有該屬性,就給它賦值1,如果存在該屬性瞭就加1。
3.遍歷對象 , 得到最大值和出現次數。
1.利用charAt方法遍歷數組 ‘aabcdobdackoppz’ (可以理解為把值存到對象obj裡面)
<script> var str = 'aabcdobdackoppz' ; var obj = {} ; for(var i = 0 ; i < str.length ; i++){ var chars = str.charAt(i) // chars 是 字符串的每一個字符 if(obj[chars]){ // o[chars] 得到的是屬性 obj[chars]++ } else { obj[chars] = 1 ; } } console.log(obj); </script>
此時已經把值存在obj對象裡瞭
2.接下來隻需要遍歷對象得到最大值和出現次數
<script> //遍歷對象 var max = 0; var ch = ''; for (var k in obj) { // 遍歷對象需要使用 for in // k 得到的是屬性名,obj[k]得到的是屬性值 // 此處的屬性名k 隻有在循環中才有用 , 所以我們需要創建一個 ch 來存儲 k if (obj[k] > max) { max = obj[k]; ch = k; } } console.log( ch + '出現次數最多' + '次數為:' + max); </script>
總結:我們可以理解為所有字符都先執行瞭obj[chars]=1,相當於創建瞭對象,然後再判斷是否已經存在對象。
到此這篇關於JavaScript利用charAt()統計出現次數最多的字符和次數的文章就介紹到這瞭,更多相關js統計次數最多的字符和次數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- JS字符串分割方法整理匯總示例講解(3種截取方法和6個輔助方法)
- JAVA多種方法實現字符串反轉
- Java數據結構之KMP算法詳解以及代碼實現
- 基於Java實現進制轉換工具類的示例代碼
- JavaScript內置對象Math與String詳細介紹