AlexanderSitnik
@AlexanderSitnik
Студент ТУСУРа

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

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


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

Подскажите почему так?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 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'));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы