获得一个页面中出现次数最多的前三个标签

 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 );
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容