Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 13
1

Функция для подсчета произведения положительных элементов массива

18.01.2018, 00:43. Показов 3925. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Учитель задал написать функцию для подсчета произведения положительных элементов массива
С функциями особо не разбираюсь и решил написать через цикл for
Javascript
1
2
3
4
5
6
7
8
var a = [1, 2, 4, 3, -4, 8, 9, -5, -6, -9, 10];
var sum = 1;
for (i = 0; i < a.length; i++) {
  if(a[i] > 0) {
    sum = sum * a[i];
  }
}
document.write(sum);
Он сказал это "Обернуть" в функцию. Очень долго голову над этим ломал. Функция, которую пытаюсь написать постоянно выдает значение NaN
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2018, 00:43
Ответы с готовыми решениями:

Функция подсчета количества положительных и отрицательных элементов массива
Создать динамический массив и заполняет его значениями. После этого передает в функцию. Функция...

Составить программу для вычисления произведения Z положительных элементов массива (x(10))
составить программу для вычисления произведения Z положительных элементов массива (x(10)). значение...

Составить программу для подсчета суммы положительных элементов квадратного массива Х
Составить программу для подсчета суммы положительных элементов квадратного массива Х, что состоит...

Функция подсчета положительных элементов каждой строки матрицы
Здравствуйте, форумчане. Подскажите пожалуйста, почему не правильно считает сумму положительных...

6
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.01.2018, 00:58 2
Цитата Сообщение от РусланПлешаков Посмотреть сообщение
Учитель задал написать функцию
Он ведь задал вам, а не нам
Ничего сложного в вашей задаче нет. Можно обойтись обычным циклом или методом reduce. На каждой итерации проверять: текущее число > 0 или нет и, если больше, то умножать на уже существующий результат прошлых произведений.

Добавлено через 3 минуты
P.S. Только не забудьте, особенно если будете использовать цикл, определить переменную =1, которой будете присваивать очередное произведение чисел.
0
554 / 403 / 256
Регистрация: 31.05.2016
Сообщений: 1,084
18.01.2018, 01:12 3
Лучший ответ Сообщение было отмечено РусланПлешаков как решение

Решение

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
function productOfPositive(numbers) {
  let product = 1;
  for(i = 0; i < numbers.length; i++) {
    if(numbers[i] > 0) {
        product *= numbers[i];
    }
  }
  return product;
}
 
var a = [1, 2, 4, 3, -4, 8, 9, -5, -6, -9, 10];
var result = productOfPositive(a);
document.write(result);
0
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 13
18.01.2018, 01:18  [ТС] 4
Спасибо большое
0
554 / 403 / 256
Регистрация: 31.05.2016
Сообщений: 1,084
18.01.2018, 01:28 5
РусланПлешаков, Или так
Javascript
1
2
3
function productOfPositive(numbers) {
    return numbers.filter(a => a > 0).reduce((a, b) => a * b);
}
0
Lazy_Den
18.01.2018, 02:47
  #6

Не по теме:

Цитата Сообщение от sash23 Посмотреть сообщение
Или так
filter() тут лишнее.

0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
18.01.2018, 06:31 7
Javascript
1
2
var a = [1, 2, 4, 3, -4, 8, 9, -5, -6, -9, 10];
console.log(a.reduce((res, el) =>  el > 0 ? el * res : res, 1));
0
18.01.2018, 06:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2018, 06:31
Помогаю со студенческими работами здесь

Составить программу для подсчёта произведения элементов
Составить программу для подсчёта произведения элементов, удовлетворяющих условию -3&lt;=bi&lt;=3 , в...

Составить программу для подсчета произведения элементов целочисленной прямоугольной таблицы
3. Составить программу для подсчета произведения элементов целочисленной прямоугольной таблицы Y,...

Составить программу для подсчета произведения элементов целочисленной прямоугольной таблицы Y
Составить программу для подсчета произведения элементов целочисленной прямоугольной таблицы Y,...

Составить программу для подсчёта произведения элементов целочисленной прямоугольной таблицы
Составить программу для подсчёта произведения элементов целочисленной прямоугольной таблицы Y,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru