获得一个页面中出现次数最多的前三个标签
2017-09-15 本文已影响0人
光影墨辰
function get_top_three() {
var aim = document.getElementsByTagName("*");
var mymap = new Map();
let len = aim.length;
for(let i = 0;i<len;i++){
let temtag = aim[i].tagName;
let flag = mymap.get(temtag);
flag = !flag ? 1 : flag+1;
mymap.set(temtag,flag);
}
// console.log(mymap);
let keys = mymap.keys();
keys = [...keys];
let klen = keys.length;
let maxtag=keys[0],mintag=keys[0],midtag=keys[0];
let one_flag = mymap.get(keys[0]);
let min = one_flag;
let mid = one_flag;
let max = one_flag;
for(let i =1;i<klen; i++) {
let coun = mymap.get(keys[i]);
if( coun > max){
min = mid;
mintag = midtag;
mid = max;
midtag = maxtag;
max = coun;
maxtag = keys[i];
}else{
if(coun>mid){
min = mid;
mintag = midtag;
mid = coun;
midtag = keys[i];
}else{
if(coun > min){
min = coun;
mintag = keys[i];
}
}
}
}
console.log(maxtag + " 次数:" + max );
console.log(midtag + " 次数:" + mid );
console.log(mintag + " 次数:" + min );
}