一条代码统计网页中的标签种类总数

194 阅读1分钟

用document.querySelectorAll("*")获取全部标签,用Set结构去重

console.log(new Set([...document.querySelectorAll("*")].map(tag=>tag.tagName)).size)

进阶版:统计其中出现最多的5种标签

思路:用reduce方法统计所有标签出现的次数存入对象中,按次数排序,再用Object.entries遍历这个对象

Object.entries([...document.querySelectorAll("*")].map(tag=>tag.tagName).reduce((ret, i)=>{
  ret[i] = (ret[i] || 0) + 1;
  return ret;
}, {})).sort((a, b)=>(b[1] - a[1])).slice(0, 5)
.map(a=>(`${a[0]}: ${a[1]}次`)).join(', ')