以下为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转为数组返回。