用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(', ')