如何找到当前页面中出现次数最多的HTML标签
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇文章给大家介绍如何找到当前页面中出现次数最多的HTML标签,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这是一道前端基础与编程功底具备的面试题:如果你前端基础强会了解 doc
千家信息网最后更新 2024年11月24日如何找到当前页面中出现次数最多的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安全错误
数据库的锁怎样保障安全
创建数据库实训心得
单位有网络安全岗中级考啥
网络安全态势感知 专利
网站服务器一般怎么维护
网络安全素材免费模板
低功耗服务器
安威玛尔服务器
网络技术工程师有哪些分类
互联网科技圈是什么时候
查询数据库的可用空间
网络安全网站制作干花
天津高科技企业互联网
basta数据库
软件开发技术实训报告书
电脑主机做服务器需要什么配置
银河战舰英雄服务器
招联金融的软件开发
网络安全局职称
3gfax传真服务器
阿里云服务器开分机教程
手机页游修改数据库
怎么做数据库不会写代码
数据库安全热点问题
软件开发公司的海报
多媒体与网络技术的学习应用
文明与征服数据库
数据库与物联网的关系
七日杀服务器如何删档重新玩
合肥中瑞网络技术有限公司
大兴区网络软件开发好处