寻找字符串中出现字符最多的次数,出现次数最多的字符,出现次数最多的字符的索引

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

<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <link rel="stylesheet" href="css.css">
    <script src="js.js"></script>
</head>

<body>
    <div>
        <h2>寻找字符串中出现字符最多的次数,出现次数最多的字符,出现次数最多的字符的索引</h2>
        <input type="text" placeholder="请输入字符串">
        <button>计算</button>
        <br> 出现字符最多的次数:
        <input type="text" />
        <br> 出现次数最多的字符:
        <input type="text" />
        <br> 出现次数最多的字符的索引:
        <input type="text" />
    </div>
</body>

</html>

  css.css

div {
     800px;
    height: 200px;
    background: #f1f1f1;
    margin: 0 auto;
    text-align: center;
    line-height: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
}

h2 {
    font-size: 20px;
     100%;
}

button {
    cursor: pointer;
    background: #eee;
    border: 1px solid #ddd;
}

input {
     165px;
    height: 25px;
    border: 1px solid #ddd;
}

  js.js

window.onload = function() {
    var oBtn = document.getElementsByTagName("button");
    var oIpt = document.getElementsByTagName("input");
    oBtn[0].onclick = function() {
        var str = oIpt[0].value;
        var objChar = {};
        for (var i = 0; i < str.length; i++) {
            var char = str.charAt(i);
            if (objChar[char]) {
                objChar[char] += 1;
            } else {
                objChar[char] = 1;
            }
        }
        var maxCount = 0;
        var maxCharIndex = [];
        for (var key in objChar) {
            if (maxCount < objChar[key]) {
                maxCount = objChar[key];
                maxCharIndex = [];
                maxCharIndex.push(key);
            } else if (maxCount == objChar[key]) {
                maxCharIndex.push(key);
            }
        }

        function getCount() {
            return maxCount;
        }

        function getmaxChar() {
            return maxCharIndex;
        }
        var objIndex = {};
        var maxIndex = [];
        for (var j = 0; j < maxCharIndex.length; j++) {
            for (var i = 0; i < str.length; i++) {
                if (str[i] == maxCharIndex[j]) {
                    maxIndex.push(i);
                }
                if (i == str.length - 1) {
                    objIndex[maxCharIndex[j]] = maxIndex;
                    maxIndex = [];
                }
            }
        }

        function getIndex() {
            var maxIndex2 = [];
            for (var key in objIndex) {
                maxIndex2.push(key + "的索引为(" + objIndex[key] + ")");
            }
            return maxIndex2;
        }
        oIpt[1].value = getCount();
        oIpt[2].value = getmaxChar();
        oIpt[3].value = getIndex();
    }
}

  

原文地址:https://www.cnblogs.com/pengzijun/p/5738931.html