美文网首页
JavaScript实现统计网站中,出现次数最多的3个元素并打印

JavaScript实现统计网站中,出现次数最多的3个元素并打印

作者: SystemLight | 来源:发表于2020-03-23 22:14 被阅读0次

代码实现

let a = [...document.getElementsByTagName("*")].map(value => value.tagName);

function getMaxEle(iter, amount = 1) {
    // 统计出现个数的对象
    let tagCount = {};

    // 假设排行前amount个的元素已经产生
    let maxCount = [...new Array(amount)].map(v => ({"count": 0}));

    // 遍历可迭代对象
    iter.forEach(function (tagName) {

        // 如果该标签名称已经出现过则加一,否则就是一
        tagCount[tagName] = ++tagCount[tagName] || 1;

        // 遍历maxCount,查看当前tagName的标签出现数量是否符合前几的资格,如果满足添加到相应位置
        for (let i = 0; i < maxCount.length; i++) {
            if (tagCount[tagName] > maxCount[i]["count"]) {
                maxCount[i]["tag"] = tagName;
                maxCount[i]["count"] = tagCount[tagName];
                break;
            }
        }

    });
    return {
        // 返回统计结果
        maxCount, tagCount
    };
}

console.log(getMaxEle(a, 3));

相关文章

网友评论

      本文标题:JavaScript实现统计网站中,出现次数最多的3个元素并打印

      本文链接:https://www.haomeiwen.com/subject/mkggyhtx.html