DOM и React Middle DOM на практике обновлено

Обход дерева

Условие

Собери текст всех текстовых узлов поддерева по порядку, пропуская содержимое <script> и <style>. Верни массив непустых строк.

Что проверяют тесты

  • собирает текст по порядку

  • пропускает script и style

Как подойти

Рекурсивный обход по childNodes. Ключевое различие: children/querySelectorAll видят только элементы, текст достаётся через childNodes и nodeValue. Промышленная альтернатива - document.createTreeWalker с NodeFilter, о ней стоит упомянуть.

Подсказки: 2
  1. childNodes включает текстовые узлы, children - только элементы.
  2. nodeType === 3 (Node.TEXT_NODE) отличает текст от элемента.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.