Skip to content

如何使用js计算一个html页面有多少种标签?

Posted on:2024年7月20日 at 18:17

分析

这道题看似简单,但是是一个很有价值的一道题目。它包含了很多重要的知识:

解答

document.querySelectorAll("*");

此时得到的是一个NodeList集合,我们需要将其转化为数组,然后对其筛选。

[...document.querySelectorAll("*")];

一个拓展运算符就轻松搞定。

[...document.querySelectorAll("*")].map((ele) => ele.tagName);

使用一个map方法,将我们需要的结果映射到一个新数组。

new Set([...document.querySelectorAll("*")].map((ele) => ele.tagName)).size;

我们使用ES6中的Set对象,把数组作为构造函数的参数,就实现了去重,再使用Set对象的size方法就可以得到有多少种HTML元素了。

原文转自:https://fe.ecool.fun/topic/e84bcf8c-1ee4-4c28-8e64-875b485369b5