@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
       }
}
  • Вопрос задан
  • 129 просмотров
Решения вопроса 2
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Чтобы получить то, что Вы хотите, нужно в цикле
objFun[num] = { // заменить num на i
  test1: 1,
  test2: 2
}

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

function getObj(id, name) {

  return {
    id: id,
    name: name
  }

}

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

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

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