@kuramaa922

Как реализовать функцию,принимающую неограниченное кол-во объектов и возвращает новый объект,содержащий все поля со всех объектов?

Реализовать функцию , которая будет принимать неограниченное количество объектов в качестве аргументов и возвращать новый объект, который должен содержать все поля со всех объектов. Если ключи в объектах повторяются, то каждый последующий объект при совпадении ключей должен иметь больший приоритет над предыдущим. Порядок полей в результирующем объекте не важен.

Хочу лучше разобраться с reduce и через него решить задачу, подскажите, пожалуйста, как
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
раз хочется именно с reduce() – то можно редьюсить массив аргументов до одного результирующего объекта:
const mergeObjects = (...args) => args.reduce((acc, c) => Object.assign(acc, c));

Использование:
mergeObjects({a: 'A'}, {b: 'B'}, {c: 'C', a: 'AAA'})
// { a: "AAA", b: "B", c: "C" }


Или так, чуть почище, чтобы не менять первый исходный объект:
const mergeObjects = (...args) => args.reduce((acc, c) => ({...acc, ...c}), {});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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