169 похожих чатов

Подскажите, как можно посчитать сумму? есть массив обьектов с разным

набором атрибутов
к примеру:
[{open: 1, close: 2, q: 5, },{open: 1, close: 2, q: 5, },{open: 1, close: 2, q: 5, }]
хочу получить сумму по каждому:
{open: 3, close: 6, q: 15}

13 ответов

13 просмотров
Юрий- Автор вопроса
Котяй Негодяй
reduce

а что сделать с атрибутами? я не знаю изначально какие они будут и сколько их будет?

Юрий- Автор вопроса
Bohdan Bida 🇺🇦
Object.keys

чет не сильно понимаю как это может помочь

Юрий
чет не сильно понимаю как это может помочь

Передав в keys объект вы можете получить все ключи его

Юрий- Автор вопроса
Bohdan Bida 🇺🇦
Передав в keys объект вы можете получить все ключи...

const arr = [ { x: 1 }, { x: 2 }, { x: 4 } ] const result = arr.reduce( ( sum, { x } ) => sum + x , 0) console.log( result ) // 7 но если у каждого обьекта может быть по 5 ключей и нужно посчитать каждое и вернуть обьект суммы для каждого из ключей, зачем мне массив ключей?

Юрий
чет не сильно понимаю как это может помочь

array.reduce( (acc, nextObject) => Object.entries(nextObject).reduce( (acc, [nextKey, nextValue]) => ({ ...acc, [nextKey]: (acc[nextKey] || 0) + nextValue, }), acc, ), {}, )

Юрий- Автор вопроса
Юрий
спасибо, щас попробую

Учти, что при каждом обновлении свойства acc пересоздаётся. Я думаю, сам найдёшь, как оптимизировать.

Юрий
const arr = [ { x: 1 }, { x: 2 }, { x: 4 } ] const...

попробуй так, проще читается вроде бы но это не точно arr.reduce( (x,y) =>{ Object.keys(y).forEach(k=>x[k]? x[k] += y[k] : x[k] = y[k]) return x },{})

Юрий- Автор вопроса
Юрий
задачка для унижения 🙁

если бы меня так унижали давая что то новое, я бы еще доплачивал)

Юрий- Автор вопроса
jabascripter
если бы меня так унижали давая что то новое, я бы ...

твой ответ читабильней, в этом согласен, а вот ответ который был перед тобой…

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта