对页面当前所有的html标签元素进行统计并排序的一个方法
var tag = document.getElementsByTagName("*")
tag = [...tag]//转成数组
var arr = [],brr = [];
tag.forEach(function(v) {
arr.push(v.tagName.toLowerCase())//拿到所有数据
})
var result = arr.reduce(function(pre, cur) {
if(cur in pre) {
pre[cur]++
} else {
pre[cur] = 1;
}
return pre
}, {})//统计到所有的标签和个数
for(var i in result) {
brr.push({
[i]: result[i],
age: result[i]
})
}//给每个对象内部加一个中间的age属性
brr.sort(function(a, b) {
return a.age - b.age
})//排序
brr.forEach(v => {
delete v.age
})//再删除这个age
var obj = {};
brr.forEach(v => {
for(let i in v) {
obj[i] = v[i]
}
})//最后放在对象里
console.log(obj);