Преобразуйте элементы в пары [name, value] и передайте их Object.fromEntries. Получится новый объект без изменения исходного массива.
Конвертация списка пар «ключ‑значение» в объект
Преобразуйте элементы в пары [name, value] и передайте их Object.fromEntries. Получится новый объект без изменения исходного массива.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Дан массив элементов, каждый из которых имеет свойства name и value. Требуется превратить этот массив в объект, где каждый ключ берётся из свойства name, а соответствующее значение — из свойства value.
// Пример
var arr = [{ name: 'width', value: 10 }, { name: 'height', value: 20 }];
// Вывод {width: 10, height: 20}
Ответ
Преобразуйте элементы в пары [name, value] и передайте их Object.fromEntries. Получится новый объект без изменения исходного массива.
const result = Object.fromEntries(arr.map(item => [item.name, item.value]));
// { width: 10, height: 20 }
Если name повторяется, последнее значение заменяет прежнее. Строковые ключи используются буквально; Object.fromEntries создаёт собственные свойства, в том числе для имени proto, без присваивания через унаследованный setter. Вложенные значения-объекты сохраняют ссылки; это преобразование структуры, не глубокая копия данных.