# Plus Minus solution using JavaScript

Below is my JavaScript solution to the Plus Minus challenge on HackerRank.

Time Complexity: Because each element in the array will be visited only one time, the time complexity is O(n), where n represents the number of elements in the array.

Space Complexity: This approach will use a constant amount of space, making the space complexity O(1).

``````/**
* Given an array of numbers, calculate the fractions of its
* elements that are positive, negative, and are zeros.
* Print the decimal value of each fraction on a new line.
*
*   Time Complexity: O(n)
*   Space Complexity: O(1)
*
*   Input: [-4, 3, -9, 0, 4, 1]
*   Output:
*     0.500000
*     0.333333
*     0.166667
*   Explanation:
*     3/6 numbers are positive
*     2/6 numbers are negative
*     1/6 numbers are zero
*/
function plusMinus(arr) {
const {positive, negative, zero} =
arr.reduce((acc, val) => {
if (val > 0) {
acc.positive += 1;
}
if (val === 0) {
acc.zero += 1;
}
if (val < 0) {
acc.negative += 1;
}
return acc;
}, {
positive: 0,
negative: 0,
zero: 0
});

console.log(positive / arr.length);
console.log(negative / arr.length);
console.log(zero / arr.length);
}
``````