Задать вопрос
AlexanderSitnik
@AlexanderSitnik
Студент ТУСУРа

Почему не получается массив?

К примеру пишу строчку:
var NewElement = document.getElementsByTagName('p');


И в NewElement хранится: "HTMLCollection", а не [p,p,p]

Подскажите почему так?
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Потому что метод так устроен - возвращает коллекцию, а не массив.

Хотите массив, есть варианты:

const elements = [...document.getElementsByTagName('p')];
// или
const elements = Array.from(document.getElementsByTagName('p'));
// или
const elements = [].concat.apply([], document.getElementsByTagName('p'));
// или
const elements = Array.prototype.slice.call(document.getElementsByTagName('p'));
// или
const elements = Object.values(document.getElementsByTagName('p'));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
06 янв. 2025, в 08:44
10000 руб./за проект
06 янв. 2025, в 08:25
50000 руб./за проект
05 янв. 2025, в 23:39
70000 руб./за проект