Используйте map: его callback получает строку и индекс. Для каждого элемента верните новый объект с name, равным строке, и id, равным индексу.
Преобразование списка строк в массив объектов с полями name и id
Используйте map: его callback получает строку и индекс. Для каждого элемента верните новый объект с name, равным строке, и id, равным индексу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо преобразовать массив строк в массив объектов, где каждый объект содержит поле name, равное исходной строке, и поле id — её порядковый номер в массиве.
// ['foo', 'bar'] → [{ name: 'foo', id: 0 }, { name: 'bar', id: 1 }]
Ответ
Используйте map: его callback получает строку и индекс. Для каждого элемента верните новый объект с name, равным строке, и id, равным индексу.
const strings = ['foo', 'bar'];
const result = strings.map((name, id) => ({ name, id }));
// [{ name: 'foo', id: 0 }, { name: 'bar', id: 1 }]
Круглые скобки вокруг литерала объекта отличают его от тела стрелочной функции. Исходный массив не изменяется. Индекс подходит для порядкового номера, но не является постоянным идентификатором: при перестановке или вставке элементов номера изменятся.