const money = ['eur 10', 'usd 1', 'usd 10', 'rub 50', 'usd 5'];
const itog = (arr) => {
for(let i=0; i < arr.lenght; i++) {
if (arr[i].slice(0,3) === 'usd') {
result += arr[i]
return result
}
}
}
console.log(itog(money));
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 summ = 0
for(let i = 0; i < money.length; i++) {
// Разобьем строку по пробелу
// 'eur 10' => ['eur', '10']
const parts = money[i].split(' ')
if (parts[0] === 'usd') {
// parts[1] это строка, нужно привести к числу
// parseInt(parts[1]) или короткая запись +parts[1]
summ += +parts[1]
}
// Условие можно записать в 1 строку
// if (parts[0] === 'usd') summ += +parts[1]
// Или даже так:
// parts[0] === 'usd' && (summ += +parts[1])
}
console.log(summ)
const itog = ..
const money = ['eur 10', 'usd 1', 'eur 5', 'rub 100', 'usd 20', 'eur 100', 'rub 200'];
const getTotalAmount = (arr, curr) => { //объявляем ф-цию с параметрами массив (array) и валюту (currency)
let result = 0; //объявляем счетчик
for (const item of arr) { // перебираем массив
if (curr === item.slice(0, 3)) {
// условие: если указанный курс равен элементу массива, который порезан с 0 - 3 индекс, то
result += Number(item.slice(4, item.length));
//прибавляем к счетчику что осталось до конца элемента, преобразовав через Number строку в число
}
}
return result; //возвращаем что получилось
};
console.log(getTotalAmount(money, "usd"));
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);
const data = [
'eur 10', 'rub 50', 'eur 5', 'rub 10', 'rub 10', 'eur 100', 'rub 200',
];
const money1 = [
'eur 10', 'usd 1', 'usd 10', 'rub 50', 'usd 5',
];
const money2 = [
'eur 10', 'usd 1', 'eur 5', 'rub 100', 'eur 20', 'eur 100', 'rub 200',
];
const getTotalAmount = (items, currency) => {
let arrays = [];
const a = [];
let sum = 0;
for(const item of items) {
const val = item.slice(0,3);
if(val === currency) {
arrays.push(item);
}
}
const res = arrays.map(el => {
const newValue = el.split(' ');
for(let i = 0; i < newValue.length; i++) {
let digit = parseInt(newValue[i]);
//вместо управляющей инструкции мы сделали это
if(!isNaN(digit)) {
a.push(newValue[i]);
}
}
});
for(const el of a) {
sum += +el
}
return sum;
};
console.log(getTotalAmount(data, 'rub'));
console.log(getTotalAmount(money1, 'usd'));
console.log(getTotalAmount(money2, 'eur'));