以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!

BFE.devAI解答 - JavaScript 代码题
68. 返回DOM tree包含的元素标签名

使用深度优先遍历算法遍历DOM tree,将遇到的元素标签名存储到一个Set中,最后将Set转为数组并返回即可。

代码如下:

function getTags(root) {  const tagSet = new Set();  dfs(root);  return Array.from(tagSet);  function dfs(node) {    if (node.nodeType === Node.ELEMENT_NODE) {      tagSet.add(node.tagName.toLowerCase());      for (let i = 0; i < node.childNodes.length; i++) {        dfs(node.childNodes[i]);      }    }  }}

其中,Node.ELEMENT_NODE为数字值1,表示元素节点。nodeType为节点类型常量,tagName为元素标签名,toLowerCase()方法将标签名转为小写。在遍历过程中,对每个元素节点进行记录,并对其子节点进行递归遍历。最后将Set转为数组返回。