@Artemio95

Как динамично сформировать объект?

Есть массив вида ["first", "second", "third"]
Данные добавляются в конец. Их может быть много. Как на выходе сформировать объект, включающий в себя следующее:
{answer1:  "first", answer2: "second", answer3: "third"} и так сколько этих самих элементов в массиве.
  • Вопрос задан
  • 117 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const obj = Object.fromEntries(arr.map((n, i) => [ `answer${i + 1}`, n ]));

или

const obj = arr.reduce((acc, n, i) => (acc['answer' + ++i] = n, acc), {});

или

const obj = {};
for (let i = 0; i < arr.length; i++) {
  obj['answer'.concat(-~i)] = arr[i];
}
Ответ написан
Aetae
@Aetae Куратор тега JavaScript
Тлен
Как обычно:
["first", "second", "third"].reduce((acc, value, i) => {
  acc[`answer${i+1}`] = value;
  return acc;
}, {});

Только вот если у тебя в коде вдруг появляются переменные(и свойства) отличающиеся только цифрой на конце - ты явно что-то делаешь не так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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