@xxvxx
....

Как создавать объекты через цикл?

let objFun = {};

        function funObj(num) {
            for (let i = 0; i < num; i++) {
                objFun[num] = {
                    test1: 1,
                    test2: 2
                }

            }
        }
        funObj(2);

На выходе будет
objFun = {
    3:{ test1: 1,
         test2: 2
       }
}

А должно быть
objFun = {
    1:{ test1: 1,
         test2: 2
       },
    2:{ test1: 1,
         test2: 2
       },
    3:{ test1: 1,
         test2: 2
       }
}
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
MrDecoy
@MrDecoy
Верставший фронтендер
Чтобы получить то, что Вы хотите, нужно в цикле
objFun[num] = { // заменить num на i
  test1: 1,
  test2: 2
}

В следствии этой опечатки у Вас код в цикле просто num-1 раз создаёт в объекте одно и то же свойство с именем num.
Ответ написан
HistoryART
@HistoryART
Надзиратель
Прямой ответ на прямой вопрос:
/* Как создавать объекты через функции? */

function getObj(id, name) {

  return {
    id: id,
    name: name
  }

}

console.log(getObj(1, 'myFirstObject').name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽