如何找到当前页面中出现次数最多的HTML标签
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,这篇文章给大家介绍如何找到当前页面中出现次数最多的HTML标签,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这是一道前端基础与编程功底具备的面试题:如果你前端基础强会了解 doc
千家信息网最后更新 2025年02月12日如何找到当前页面中出现次数最多的HTML标签
这篇文章给大家介绍如何找到当前页面中出现次数最多的HTML标签,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
这是一道前端基础与编程功底具备的面试题:如果你前端基础强会了解 document.querySelector(*)
能够列出页面内所有标签,如果你编程能力强能够用递归快速实现同等的效果
> document.querySelectorAll('*')
< NodeList(593) [html, head, meta, meta, meta, meta, meta, meta, meta, title, link#favicon, link, link#MainCss, link#mobile-style, link, link, link, script, script, script, script, script, script, script, link, script, link, link, script, input#_w_brink, body, a, div#home, div#header, div#blogTitle, a#lnkBlogLogo, img#blogLogo, h2, a#Header1_HeaderTitle.headermaintitle.HeaderMainTitle, h3, div#navigator, ul#navList, li, a#blog_nav_sitehome.menu, li, a#blog_nav_myhome.menu, li, a#blog_nav_newpost.menu, li, a#blog_nav_contact.menu, li, a#blog_nav_rss.menu, li, a#blog_nav_admin.menu, div.blogStats, span#stats_post_count, span#stats_article_count, span#stats-comment_count, div#main, div#mainContent, div.forFlow, div#post_detail, div#topics, div.post, h2.postTitle, a#cb_post_title_url.postTitle2.vertical-middle, span, div.clear, div.postBody, div#cnblogs_post_body.blogpost-body, p, p, strong, p, p, p, strong, div.cnblogs_code, pre, span, span, span, span, span, p, span, strong, pre, strong, span, strong, br, br, br, div.cnblogs_code, pre, span, span, p, p, …]
[0 … 99]
[100 … 199]
[200 … 299]
[300 … 399]
[400 … 499]
[500 … 592]
__proto__: NodeList
使用 document.querySelectorAll
实现如下
const maxBy = (list, keyBy) => list.reduce((x, y) => keyBy(x) > keyBy(y) ? x : y)
function getFrequentTag () {
const tags = [...document.querySelectorAll('*')].map(x => x.tagName).reduce((o, tag) => {
o[tag] = o[tag] ? o[tag] + 1 : 1;
return o
}, {})
return maxBy(Object.entries(tags), tag => tag[1])
}
使用 element.children
递归迭代如下 (最终结果多一个 document)
function getAllTags(el = document) {
const children = Array.from(el.children).reduce((x, y) => [...x, ...getAllTags(y)], [])
return children
}
// 或者通过 flatMap 实现
function getAllTags(el = document) {
const children = Array.prototype.flatMap.call(el.children, x => getAllTags(x))
return [el, ...children]
}
关于如何找到当前页面中出现次数最多的HTML标签就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
标签
页面
次数
内容
前端
基础
更多
递归
帮助
编程
不错
一道
兴趣
功底
够用
小伙
小伙伴
效果
文章
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
某个数据库表的使用空间
英国网络安全专业最强的大学
无线 安全连接到服务器
网络安全调研报告范文
关系型数据库支持水平扩展能力吗
MySQL数据库大全
数据库系统有那些组成
南京定制软件开发规范
云服务器 nginx
华为服务器自检密码
戴尔服务器蓝屏初始化怎么回事
珠海软件开发公司
sql数据库长度和精度是什么
RAID阵列服务器数据恢复
2019年网络安全实施方案
web应用服务器配置
笔记本可以打开数据库吗
福建企业软件开发电话多少
2022北京冬奥会网络安全工作情况汇报
服务器数据库打开了网页无法连接
空数据库的相关属性怎么设置
服务器网络设备维护需要多少钱
宝塔app管理服务器
网络安全的动态图
软件开发方案app
数据库字段关联可视化操作
安徽服务器电源公司
长春盘古软件开发公司
软件开发专业毕业论文官方中文版
湖北属于哪个服务器