列出页面上出现次数前n的标签名

列出页面上出现次数前n的标签名

使用原生js列出页面上出现次数前n的标签名。

思路

  1. 获取页面上所有标签。
  2. 遍历标签,获取每个标签的标签名,如果第一次出现就置位1否则自增1.
  3. 列出页面上出现次数前n的标签名。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const getTopNTagNames = (n) => {
let doms = document.querySelectorAll('*');
let countMap = {};

for (let i = 0, len = doms.length; i < len; i++) {
let tagName = doms[i].tagName.toLowerCase();
countMap[tagName] ? countMap[tagName]++ : countMap[tagName] = 1;
}

let topN = Object.entries(countMap).sort((a, b) => b[1] - a[1]).slice(0, n);
topN.map((value, index, arr) => {
arr[index] = value[0];
});

return topN;
}

评论