Как сделать так чтобы два числа начинающиеся на 2 складывались между собой?
Возьмите из этого массива те элементы, у которых первая цифра 1 или 2, и найдите их сумму.
let arr = [10, 23, 30, 40, 21, 32, 51];
let num1, num2
for(let i=0; i<=arr.length-1;i++){
let num = String(arr[i]) //переделали массив в строку
let char= num[0] //присвоили первый символ переделанного массива в строку в переменную
if(char==1){
num1=Number(num)
document.write(num1)
}
if (char==2){
num2=Number(num)
document.write(num2)
}
}
Вопрос: Как сделать так чтобы два числа начинающиеся на 2 складывались между собой?
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
Ну часть работы вы уже сделали. Только num1 и num2 вам не нужны, ведь сразу после успешного сравнения вы можете добавить arr[i] к сумме
let arr = [10, 23, 30, 40, 21, 32, 51];
let summ = 0
for(let i=0; i<=arr.length-1;i++){
let num = String(arr[i]) //переделали массив в строку
let char= num[0] //присвоили первый символ переделанного массива в строку в переменную
if(char=="1" || char=="2"){
summ += arr[i]
}
}
document.write(summ)
Автор решения: Rudi
→ Ссылка
Можно что-то такое сделать..
let arr = [10, 11, 30, 40, 21, 32, 51, 1, 2];
let sum = arr.filter(e=>{ return e >= 10 && e < 30 || e == 1 || e == 2 }).reduce((a,b)=>{return a + b});
console.log(sum);
let sum2 = 0;
for(let n of arr) if(n >= 10 && n < 30 || n == 1 || n == 2) sum2 += n;
console.log(sum2);