js-统计当前页面使用的标签
2022-01-18 本文已影响0人
_静夜听雨_
作为前端,你在面试的时候可能会遇到这样一道面试题,随便打开一个网页,让你在控制台统计出当前页面使用最多的标签和数量?
下面我们来一步步进行,go:
1、获取页面所有标签(类数组)
const nodeList = document.getElementsByTagName('*');

2、获取标签名数组(标签名组成的数组)
const tagNameList = ([...document.getElementsByTagName('*')]).map(v=>v.tagName);

3、标签种类统计
const tagNameNums = new Set([...([...document.getElementsByTagName('*')])
.map(v=>v.tagName)]);
const len = tagNameNums.size;

4、reduce统计标签出现的次数
const reduceResult = ([...document.getElementsByTagName('*')])
.map(v=>v.tagName)
.reduce((obj,item)=>{
obj[item] = obj[item] ? obj[item] + 1 : 1;
return obj;
},{});

5、获取entris数组
const reduceResultEntries = Object.entries(reduceResult);

6、entris数组排序
const sortReduceList = Object.entries(reduceResult).sort((a,b)=>b[1]-a[1]);

7、输出前三名
console.table(sortReduceList.slice(0,3))

搞定!!!