Почему не изменяется значение переменой

const craeteAuthor = (i) => {
  if (i === 10) {
    return {
      avatar: `img/avatars/user${i}.png`,
    };
  }
  return {
    avatar: `img/avatars/user0${i}.png`,
  };
};

const createCard = () => {
  for (let i = 1; i <= 10; i++) {
    return {
      author: craeteAuthor(i),
    };
  }
};

const cards = Array.from({length: 10}, createCard);

Необходимо сгенерировать массив из десяти объектов, состоящих из нескольких других объектов. С функциями создания других объектов я справился, но с одним - проблема, и так условие: Объект содержит одно поле - строка — адрес изображения вида img/user{{xx}}.png, где {{xx}} — это число от 1 до 10. Перед однозначными числами ставится 0. Например, 01, 02...10. Адреса изображений не повторяются. В примере убрал объекты, с которыми проблем нет. При выполнении данного кода массив с объектами создается, но {{Х}} во всех объектах не меняется и равен 01, как сделать чтобы у всех объектов были разные номера.


Ответы (1 шт):

Автор решения: Эникейщик

return завершает выполнение функции. Поэтому i в цикле никогда не становится даже 2.

→ Ссылка