JS求頁面中出現最多次數的標簽,並求出出現次數


想到之前面試過的一條面試題。就是求出頁面中出現次數最多 的標簽,並求出最大值。因為出現最多 的標簽可能是同時存在多個相同。比如span和div都是出現10次並且是最大值,

所以把出現標簽用放到數組里面去。。寫下個人的解決方法。

<!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>求出頁面中出現次數最多的標簽</title>
</head>

<body>
    <span></span>
    <span></span>
    <span></span>
    <div>
        <div>
            sdf
        </div>
    </div>
    <div></div>
</body>
<script>
    var element = document.getElementsByTagName("*");//獲取所有標簽
    var obj = {}, max = 0, maxArr = [];
    for (var index = 0; index < element.length; index++) {
        if (!obj[element[index].tagName])
            obj[element[index].tagName] = 1;//如何Obj沒有這個標簽的屬性則為1
        else
            obj[element[index].tagName]++;//否則就++
    }
    ///循環一遍obj求出最大值
    for (const key in obj) {
        // 頁面中可能 有多個相同多的最大值標簽
        if (obj[key] == max) {
            maxArr.push(key)
        }
        // 出現最多次數時
        if (obj[key] > max) {
            max = obj[key];
            maxArr = [];
            maxArr.push(key)
        }

    }
    console.log('頁面中出現最多的標簽是maxArr里面的幾個值,出現次數是' + max)
</script>

</html>

上面的結果maxArr是['SPAN','DIV']。

其實這種題目和求一個字符串中出現最多的字符和次數都是一樣原理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM