字符串?dāng)?shù)組找出出現(xiàn)次數(shù)最多的字符及對(duì)應(yīng)的次數(shù)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //有一個(gè)字符串?dāng)?shù)組,找出出現(xiàn)次數(shù)最多的字符及對(duì)應(yīng)的次數(shù)
        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'];
        /*思路:
            利用對(duì)象兩個(gè)特點(diǎn)
                屬性可以動(dòng)態(tài)添加=
                屬性與屬性值之間是一個(gè)鍵值對(duì)的關(guān)系
           1.聲明一個(gè)空對(duì)象,遍歷字符串
           2.將字符串的字符作為對(duì)象的屬性,出現(xiàn)的次數(shù)作為對(duì)象的屬性值
        */

        let objc = {};    //創(chuàng)建對(duì)象
        for (let i = 0; i < str.length; i++) {
            let s = str[i];
            //先判斷對(duì)象是否有該屬性
            if (objc[s] == undefined) {//使用字符串語法對(duì)對(duì)象取值,如果取出來是undefined,表示對(duì)象沒有這個(gè)屬性
                //既然沒有表示這個(gè)字符是第一次出現(xiàn),那么就將這個(gè)字符作為對(duì)象的屬性,屬性的值為1 (第一次出現(xiàn))
                objc[s] = 1;//動(dòng)態(tài)賦值
            } else {//如果對(duì)象有這個(gè)屬性,則讓這個(gè)屬性的值自身+1  (每出現(xiàn)一次就加1)
                objc[s]++;
            }
        }
        console.log(objc);//遍歷這個(gè)對(duì)象,就知道哪個(gè)字符出現(xiàn)的最多了
    </script>
</body>

</html>

因?yàn)?code>objc.a == objc['a']

代碼27行objc[s]產(chǎn)生的效果是在對(duì)象objc中添加屬性,屬性值則為出現(xiàn)的次數(shù)。
如:

objc = {
            3: 3,
            4: 4,
            a: 2,
            b: 1,
            d: 2,
            f: 2,
            g: 4,
            h: 1,
            j: 2,
            k: 2,
            s: 6
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容