打印出现在字符串中某字母出现最多的次数

    技术2022-07-10  154

    假设有一个字符串,下面让我们一起来查找出现次数最多的字符

    var str = 'asdfssaaaseraaasdfdsasasasaa';

    首先,我们定义一个Object用来存放拆分的字符串,然后遍历字符串。 判断obj里面是否出现某一个字符,如果未出现则给obj添加以此字符为键值的属性,并赋值为1。反之则给此属性值++;

    var obj = {}; for (var i = 0; i < str.length; i++) { if (!obj[str.charAt(i)]) { obj[str.charAt(i)] = 1; // obj[str.charAt(i)]这种中括号写法 和obj.str.charAt(i)是一个意思 但是这样写会报错 所以写成中括号的形式 } else { obj[str.charAt(i)]++ } }

    此时我们已经拿到了一个这样的对象

    obj{ a: 12 d: 3 e: 1 f: 2 r: 1 s: 9}

    之后再用for-in循环

    var max = 0, name = ""; for (var i in obj) { if (obj[i] > max) { max = obj[i]; name = i; } } console.log('出现次数最多的是:' + name + '出现了' + max + '次'); //出现次数最多的是:a出现了12次
    Processed: 0.015, SQL: 9