Как решить задачку с массивами на js?
Одна валюта:

arr.reduce((acc, n) => acc + +(n.startsWith(`${currency} `) && n.match(/\d+$/)), 0)
Все:

arr.reduce((acc, n) => {
  const [ currency, sum ] = n.split(' ');
  acc[currency] = (acc[currency] || 0) + +sum;
  return acc;
}, {})
наверное так будет универсальнее)
const money = ['eur 10', 'usd 1', 'usd 10', 'rub 50', 'usd 5']
let res = new Map()

for (var i=0, len=money.length; i<len; i++) {
    let valuta = money[i].split(' ')
    
    if(res.has(valuta[0])){
      let price = res.get(valuta[0])
      res.set(valuta[0], price + Number(valuta[1]))
    }
    else{
      res.set(valuta[0], Number(valuta[1]))
    }
}

console.log(res);