@YakovSpb

Как проверить наличие переменной?

Как наиболее короче сделать, чтобы не выдало ошибки при отсутствии у объектов определенного свойства, например ${e.breeds[0].name}
function createPics() {
		getCats();
		let containerCats = '';

		newCats.forEach(e=>{
			let htmlCats = `
			<div class="cat__item">
				<div class="cat__img"><img src="${e.url}" alt="${e.breeds[0].name}"></div>
				<div class="cat__name">${e.breeds[0].name}</div>
				<div class="cat__temperament">${e.breeds[0].temperament}</div>
				<div class="cat__live">${e.breeds[0].life_span}</div>
				<div class="cat__origin">${e.breeds[0].origin}</div>
				<div class="cat__description">${e.breeds[0].description}</div>
				<div class="cat__wikipedia_url">${e.breeds[0].wikipedia_url}</div>
			</div>
			`;
			containerCats +=htmlCats;

		})
		generalDiv.innerHTML = containerCats;
	}
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Как наиболее короче сделать...

Короче - не проверять, и вообще не обрабатывать элементы, где нет данных:

generalDiv.innerHTML = newCats
  .filter(n => n?.breeds.length)
  .map(({ url, breeds: [ b ] }) => `
    <div class="cat__item">
      <div class="cat__img"><img src="${url}" alt="${b.name}"></div>
      <div class="cat__name">${b.name}</div>
      <div class="cat__temperament">${b.temperament}</div>
      <div class="cat__live">${b.life_span}</div>
      <div class="cat__origin">${b.origin}</div>
      <div class="cat__description">${b.description}</div>
      <div class="cat__wikipedia_url">${b.wikipedia_url}</div>
    </div>
  `)
  .join('');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы