@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
       }
}
  • Вопрос задан
  • 133 просмотра
Решения вопроса 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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 08:04
1 руб./за проект
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект