Как подсчитать сумму в массиве?

230
20 января 2022, 03:40

Как подсчитать сумму cmon в массивах? Надо получить сумму массива red и black.

let arr=[
    {id: 44, bet: 2, cmon: 3, lroom: 1000},
    {id: 45, bet: 1, cmon: 20, lroom: 1000},
    {id: 432, bet: 2, cmon: 4, lroom: 1000},
    {id: 45, bet: 1, cmon: 30, lroom: 1000}
    ];
const red = arr.filter(item => item.bet !== 1),black = arr.filter(item => item.bet !== 2); 
console.log(red) //Сумма red  cmon 
console.log(black) //Сумма black  cmon 
Answer 1

без разделения на массивы как-то так

let arr=[ 
    {id: 44,  bet: 2, cmon: 3,  lroom: 1000}, 
    {id: 45,  bet: 1, cmon: 20, lroom: 1000}, 
    {id: 432, bet: 2, cmon: 4,  lroom: 1000}, 
    {id: 45,  bet: 1, cmon: 30, lroom: 1000} 
  ]; 
     
var res = arr.reduce((acc, v) => { 
              let key =  v.bet == 1 ? 'red' : 'black'; 
              acc[key] += v.cmon; 
              return acc; 
           }, { red: 0, black: 0 } )    ; 
            
console.log(res);

либо на новый манер так

let arr=[ 
    {id: 44,  bet: 2, cmon: 3,  lroom: 1000}, 
    {id: 45,  bet: 1, cmon: 20, lroom: 1000}, 
    {id: 432, bet: 2, cmon: 4,  lroom: 1000}, 
    {id: 45,  bet: 1, cmon: 30, lroom: 1000} 
  ]; 
     
     
var {1:red, 2:black} = arr.reduce((acc, v) => (acc[v.bet] += v.cmon, acc), { 1: 0, 2:0 } ); 
            
console.log(red, black);

READ ALSO
Пауза между скриптами

Пауза между скриптами

есть 2 скрипта асинхронных, запускается первый и дальше ничего не происходит, второй не запускается, просто виситВ чем проблема?

197
Запуск игры с рабочего стола JS

Запуск игры с рабочего стола JS

Можно ли с помощью JS или же другого языка запустить определенный ярлык с рабочего стола Windows 10?

94
new Date() возвращает NaN в Safari

new Date() возвращает NaN в Safari

Перепробовала вообще все, что гугл выдавал - не работает: приведение к числу (parseInt(), Number()) или строке, через setDate()Сталкивались ли вы с таким...

100
Обработка запроса на сервере в потоках. Worker Threads

Обработка запроса на сервере в потоках. Worker Threads

Хочу переписать SSR на сервере, что бы сам рендеринг проходил в отдельном потоке и не блокировал остальные запросы на сервер

116