Мне нужно получить массив expectedOutput, который состоит из объектов с большим номером суммы. Этот код объединяет два массива, а затем уменьшает их на большее количество. Я ищу лучший способ сделать это без конкатенации. Заранее спасибо.
let arr1 = [{name: 'Almendras', amount: 0},{name: 'Nueces', amount: 0}, {name: 'Chocolate', amount: 0}];
let arr2 = [{name: 'Almendras', amount: 2}];
let expectedOutput = [{name: 'Almendras', amount: 2}, {name: 'Nueces', amount: 0}, {name: 'Chocolate', amount: 0}];
let concat = arr1.concat(arr2);
const output = Object.values(concat.reduce((x, y) => {
x[y.name] = x[y.name] && x[y.name].amount > y.amount ? x[y.amount] : y
return x
}, {}));
console.log(output);