Как передать весь массив с данными карты в функцию? JavaScript - PullRequest
0 голосов
/ 29 апреля 2020
const initialCards = [
  {
      name: 'a',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/arkhyz.jpg'
  },
  {
      name: 'Челябинская область',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/chelyabinsk-oblast.jpg'
  },
  {
      name: 'b',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/ivanovo.jpg'
  },
  {
      name: 'c',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/kamchatka.jpg'
  },
  {
      name: 'd',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/kholmogorsky-rayon.jpg'
  },
  {
      name: 'e',
      link: 'https://pictures.s3.yandex.net/frontend-developer/cards-compressed/baikal.jpg'
  }
];

здесь - функция, в данный момент передаются отдельные параметры.

function createCard(name, link) {
  const cardTemplate = document.querySelector('#card-template').content;
  const cardElement = cardTemplate.cloneNode(true);
  cardElement.querySelector('.place__name').textContent = name;
  cardElement.querySelector('.place__image').src = link;

  cardElement.querySelector('.place__like').addEventListener('click', handleClickLike);
  cardElement.querySelector('.place__image').addEventListener('click', handleDigitClick);


  return cardElement;
}

1 Ответ

1 голос
/ 29 апреля 2020

Вы можете перебирать массив и для каждого элемента вызывать функцию

const createdCards = initialCards.map(card => createCard(card.name, cart.link));
...