рони, имхо, лучше такие вещи иммутабельно делать для надёжности:
const res = (...arr) => {
const acc = Object.create(null);
arr.flat().forEach(({ city, price, ...rest }) => {
if (acc[city]) {
acc[city].price += price;
} else {
acc[city] = { city, price, ...rest };
}
});
return Object.values(acc);
}
Но по задаче точно не скажешь. Впрочем по задаче не скажешь, что вообще надо что-то суммировать.)