Написал на JavaScript 3 варианта(по возрастанию сложности).
Вариантов на самом деле много, но самые простые привел.
Первый вариант будет выглядеть одинаково почти на всех языках программирования.
Если нужны дополнительные пояснения, то обращайтесь.
Так же прикрепил скриншот кода. Если нужно, то могу поделиться ссылкой на код, чтобы проверить его работоспособность.
Немного прокомментирую каждый способ.
1 способ
Здесь самый простой метод - просто перебираем массив элементов начиная с нулевого и заканчивая последним(он будет равен длине массива(arr.length) , в данном случае 9).
Если мы видим, что текущий элемент(arr[i]) внутри цикла больше 0, то мы прибавляем значение этого элемента к текущему(уже имеющемуся) значению суммы(sum).
Расшифровка кода, простым языком:
если текущий элемент больше 0, то прибавляем значение этого элемента к значению переменной суммы(sum).
2 способ
Мы делаем тоже самое, что и в первом способе, но теперь используем метод перебора массива forEach.
Этот метод перебирает массив элементов от начала до конца. item внутри цикла - это значение текущего элемента при переборе.
Расшифровка кода, простым языком:
если текущий элемент больше 0, то прибавляем значение этого элемента к значению переменной суммы(sum).
3 способ
Используем метод перебора массива reduce.
Этот метод работает как и forEach, но при этом сохраняет промежуточный результат между каждым элементом.
Расшифровка кода, простым языком:
если текущий элемент массива больше 0, то к промежуточному результату прибавить значение этого элемента, в противном случае, к промежуточному результату прибавляем 0.
var arr = [-1, 2, 0, 4, 6, -3, 1, 3, 5]; //массив элементов
var sum = 0; //переменная, которая сохранит в себя сумму положительных элементов
//1 способ
for (var i = 0; i
if (arr[i] > 0) {
sum += arr[i];
}
}
//2 способ
// arr.forEach(function(item){
// if (item > 0) {
// sum += item;
// }
// });
//3 способ
// sum = arr.reduce(function(s, c) {
// return c > 0 ? s + c : s + 0;
// }, 0);
console.log('Сумма положительных чисел = ', sum);