/* 题设:统计页面标签出现数量,取前 num 标签 */
function statisticalLabel(num) {
return Object.entries(
Array.apply(null, document.querySelectorAll('*'))
.map(node => node.tagName.toUpperCase())
.reduce((pre, cur) =>(Reflect.has(pre, cur) ? Reflect.set(pre, cur, Reflect.get(pre, cur) + 1) : Reflect.set(pre, cur, 1), pre), {})
).sort((a, b) => b[1] - a[1]).slice(0, num).map(i => i[0])
}
/*
注意点:
1:获取页面全部标签方法:document.querySelectorAll('*')
2:类数组 => 数组 Array.apply(null, arrLike)
3:标签大小写不统一,统一标签大小写:str.toUpperCase()
4:array.reduce()方法统计;(逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值)
5:array.sort() 方法排序:大后小前
6:标签展示
*/