ВОПРОС
Получив массив целых чисел, вычислите доли его элементов, которые являются положительными, отрицательными и являются нулевыми. Выведите десятичное значение каждой дроби в новой строке.
Например, в массиве arr = [1,1,0,-1,-1] есть элементы: два положительных, два отрицательных и один нулевой. Их отношения будут 0,400000, 0,400000 и 0,200000. Это должно быть напечатано как
0.400000
0.400000
0.200000
Описание функции
Выполните функцию plusMinus в редакторе ниже. Он должен распечатать соотношение положительных, отрицательных и нулевых элементов в массиве, каждое в отдельной строке, округленное до шести знаков после запятой.
plusMinus имеет следующие параметры:
- arr: массив целых чисел
РЕШЕНИЕ
JavaScript
function plusMinus(arr) {
const { p, n, z } = arr.reduce((acc, no) => {
if (no < 0)
acc.n++;
else if (no > 0)
acc.p++;
else if (no === 0)
acc.z++;
return acc;
}, { p: 0, n: 0, z: 0 });
console.log(parseFloat(p / (p + n + z)).toFixed(6));
console.log(parseFloat(n / (p + n + z)).toFixed(6));
console.log(parseFloat(z / (p + n + z)).toFixed(6));
}
Пожалуйста, не стесняйтесь внести свой вклад в улучшение решения в разделе комментариев ниже. Спасибо за чтение!:)