寻找出现次数最多的三个标签
Sunny-117 opened this issue · 2 comments
Sunny-117 commented
寻找出现次数最多的三个标签
CwRv07 commented
// 寻找当前页面中出现最多的三个标签
// 取所有元素(两种方法)
const pageDomList = Array.from(document.all ?? document.querySelectorAll('*'));
// 哈希计数
const domMap = new Map();
pageDomList.forEach(dom => {
domMap.set(dom.tagName, (domMap.get(dom.tagName) ?? 0) + 1);
})
// 排序取前三输出
const mapEntriesList=Array.from(domMap);
mapEntriesList.sort((a,b)=>b[1]-a[1]);
console.log(mapEntriesList.slice(0,3));
veneno-o commented
function findThree(){
const doms = Array.from(document.querySelectorAll("*")).map(node => node.tagName);
const map = new Map();
for (const item of doms) {
map.has(item) ? map.set(item, map.get(item) + 1) : map.set(item, 1);
}
return Array.from(map.entries()).sort((a, b) => b[1] - a[1]).slice(0, 3);
}