博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取页面中出现次数最多的三个标签以及出现次数
阅读量:6963 次
发布时间:2019-06-27

本文共 963 字,大约阅读时间需要 3 分钟。

/**

* @method getDomCounts - Get the tag information in some page;
* @param
* @return An object with the result of tag name as key and tag counts for value.
*/
function getDomCounts() {
let nodes = document.getElementsByTagName('*');
let tags = {};
for (let i = nodes.length - 1; i; i--) {
var tagName = nodes[i].tagName.toLowerCase();
if (tags[tagName]) {
tags[tagName]++;
} else {
tags[tagName] = 1;
}
}
return tags;
}
/**
* @method sortTags - sort an object by value of an object;
* @param tagsInfo - an object which needs to be sorted;
* @return An Array composed by the object key
*/

function sortTags(tagsInfo) {

return Object.keys(tagsInfo).sort((a,b)=> {
return tagsInfo[b]-tagsInfo[a]
})
}
let tagsInfo = getDomCounts();
let sortedTags = sortTags(tagsInfo);
let mostUsedTags= {};
for (let i = 0; i < 3; i++) {
let key = sortedTags[i];
mostUsedTags[key] = tagsInfo[key]
}
console.log(mostUsedTags);

转载于:https://www.cnblogs.com/drop-in-ocean/p/8488345.html

你可能感兴趣的文章
Java生产者消费者模式
查看>>
十六进制转二进制
查看>>
设计模式之模板模式
查看>>
直接插入排序
查看>>
springmvc4.x返回json数据
查看>>
iOS逆向之三-authorized_keys ssh登录越狱手机免验证设置
查看>>
解决linux的-bash: ./xx: Permission denied
查看>>
Laravel 第三方登陆之 Socialite Providers
查看>>
Ubuntu14.10 remove ibus 之后
查看>>
Spring第一天
查看>>
springMVC笔记系列(20)——控制器实现详解(下)
查看>>
Linux文件上传下载,rz和sz
查看>>
在as3中使用嵌入字体
查看>>
How processor, assembler, and programming langu...
查看>>
五种方法解决Magento中jQuery和Prototype兼容性
查看>>
PPT模板网站
查看>>
InSave 隐私政策
查看>>
[Linux command]批处理注释
查看>>
delphi 操作文件时间的函数
查看>>
nodjs 生产环境及升级问题
查看>>