@Alex_87

Как собрать статистику DOM-дерева?

У меня следующее задание:

Моё решение(до классов пока не добрался)

https://codepen.io/Alexei_87/pen/dypyYPw?editors=1011

И у меня проблема! Вместо того, чтобы выводить
DIV: 1; B: 2;
У меня выводиться больше дивов и B. Всё это скорее всего происходит из-за рекурсии. Подскажите пожалуйста, как правильно решить эту проблему!

P.S. Мне подсказали не создавать массив, а кидать сразу в объект и вот что я сделал:
if(children[i].tagName != undefined){
      			obj.tags[children[i]] = (obj.tags[children[i]] || 0) + 1;
      		   }

В консоле, в свойстве tags правда вышли не теги, а это
5fc0b2f81afb3856598847.png
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
const s={};
document.querySelectorAll('*').forEach(({ tagName: n }) =>{
    s[n] = s[n] ? s[n] + 1 : 1;
});
console.table(s);

5fc0bb0d3e1a5734071851.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vabka
Токсичный
Решение не смотрел, но я бы решил "в лоб".
1. Заводим массив из всех типов элементов (h1, b, div, span итд)
2. document.querySelectorAll
3. Профит
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽