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

BFE.devAI解答 - JavaScript 代码题
104. 按层遍历DOM树

思路:

使用BFS算法,从根节点开始,逐层遍历所有子节点,每遍历完一层节点,将其加入结果数组中。具体实现如下:

代码实现:

function flattenDom(root) {  const result = [];  const queue = [root];  while (queue.length) {    const node = queue.shift();    result.push(node);    let child = node.firstElementChild; // 获取第一个子节点    while (child) {      queue.push(child); // 将子节点加入队列中      child = child.nextElementSibling; // 获取下一个兄弟节点    }  }  return result;}

测试:

const root = document.querySelector('#root');const result = flattenDom(root);console.log(result);

输出:一个包含所有DOM节点的一维数组。