计算出当前网站出现过的所有标签
function getTageTypes() {
let allTags = [...document.getElementsByTagName('*')].map(tag => tag.tagName)
return new Set(allTags).size
}
淘宝首页计算标签数:
image.png
扩展:计算出出现最多次的前3种标签
function getTageTypes() {
// 获取所有标签
let allTags = [...document.getElementsByTagName('*')].map(tag => tag.tagName)
// 创建一个哈希表,用来存储标签出现的次数
let obj = {}
for(let i = 0; i < allTags.length; i++) {
if(!obj[allTags[i]]) {
obj[allTags[i]] = 1
}else {
obj[allTags[i]]++;
}
}
// 对哈希表从大到小排序
let tagSortArr = Object.keys(obj).sort((a, b) => obj[b] - obj[a])
// 输出值最大的三种标签
if(tagSortArr.length > 2) {
return [tagSortArr[0], tagSortArr[1], tagSortArr[2]]
}else {
throw Error('不存在三个标签')
}
}
淘宝首页计算出现最多的三种标签:
image.png
网友评论