<body>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<div>div4</div>
<div>div5</div>
<script>
// 获取到html中所有的标签
let htmlname=document.getElementsByTagName('*')
// getElementsByTagName:得到的HTMLCollection数组是个伪数组,不能使用数组中的方法,转换成为真数组
let Htmlname=Array.from(htmlname)
// 准备一个获取到大写的标签名的空数组
let HtmlName=[]
Htmlname.forEach(item=>HtmlName.push(item.tagName))
console.log(HtmlName);
let obj={}
// 以下过程,如果不明白,看一下我的另一篇文章:计算字符串中出现的字符及相应的次数,有详细说明
HtmlName.forEach(item=>{
if(item in obj){
obj[item]+=1
}else{
obj[item]=1
}
})
let obj2={}
let keyAry=Object.keys(obj).sort((a,b)=>obj[b]-obj[a])
for (let i = 0; i < 3; i++) {
obj2[keyAry[i]]=obj[keyAry[i]]
}
console.log(obj2);
</script>
</body>