需求: 有一個字串陣列,找出出現次數最多的字符及對應的次數
<script>
//有一個字串陣列,找出出現次數最多的字符及對應的次數
let str = ['a', 'b', 'a', 's', 'f', 'g', 'g', 'g', 'h', 'j', 'j', 'k', 'k', 'g', 'f', 'd', 'd', 's', 's', 's', 's', 's', '3', '4', '4', '4', '3', '4', '3'];
/*思路:
利用物件兩個特點
屬性可以動態添加=
屬性與屬性值之間是一個鍵值對的關系
1.宣告一個空物件,遍歷字串
2.將字串的字符作為物件的屬性,出現的次數作為物件的屬性值
*/
let objc = {};
for (let i = 0; i < str.length; i++) {
let s = str[i];
//先判斷物件是否有該屬性
if (objc[s] == undefined) {//使用字串語法對物件取值,如果取出來是undefined,表示物件沒有這個屬性
//既然沒有表示這個字符是第一次出現,那么就將這個字符作為物件的屬性,屬性的值為1 (第一次出現)
objc[s] = 1;//動態賦值
} else {//如果物件有這個屬性,則讓這個屬性的值自身+1 (每出現一次就加1)
objc[s]++;
}
}
console.log(objc);//遍歷這個物件,就知道哪個字符出現的最多了
</script>
上一章:JavaScript入門第十五章(物件)
下一章:JavaScript入門第十七章(內置物件的API )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/292968.html
標籤:其他
下一篇:Vue原始碼學習(一)
