Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

DOM: вставить элемент массива

С помощью JS необходимо создать div и вставить в него название героя, картинки и описание.

Имя героя, картинки и описание хранятся в виде объекта в массиве heroBase:

123456789101112
 const heroBase = [
  {
    name: 'Hero 1',
    bio: `This is a Hero 1 description`,
    path: './img/hero1.png'
  },
  {
    name: 'Hero 2',
    bio: `This is a Hero 2 description.`,
    path: './img/hero2.png'
  },
] 

Создаю div и передаю туда нулевой элемент массива heroBase:

let body = document.querySelector("body");
let hero1 = document.createElement("div");
hero1.className = "card";
hero1.innerText = heroBase[0]; // вот тут он мне выдает "object Object"
body.append(hero1);

Вместо имени героя, картинки и описания получаю "object Object".
Как сделать так, чтобы отображались имя героя, картинки и описание?

По дате
По рейтингу
Аватар пользователя
Мудрец

Даже если бы такой проблемы не было, то у тебя получилось бы не красиво. В блоке hero1 была бы надпись

12345
 { 
    name: 'Hero 1', 
    bio: `This is a Hero 1 description`, 
    path: './img/hero1.png' 
} 

Используй dot notation (обращайся через точку) для каждого свойства объекта, вставляй точечно. Так и красиво получится. Если нужно генерировать автоматически создай функцию которая циклом будет как то перебирать все значения. Используй Object.values, или что еще придумаешь...

Аватар пользователя
Оракул
Аватар пользователя
1
 hero1.textContent = heroBase[0].name