Open In App

JavaScript program to count positive and negative numbers in an array

Improve
Improve
Like Article
Like
Save
Share
Report

Given an array of numbers. Write a JavaScript program to find positive and negative numbers in an array.

Example:

Input:   numbers_array1= [10,20, -1,22,99,20, -9]
Output: positive no’s=5, negative no’s =2

Input:   numbers_array2= [-121, – 78, -13, 54, -23]
Output:  positive no’s=1, negative no’s=4

Example 1: This code count positive and negative numbers from the given array using JavaScript for loop. Iterate each element in the list using for loop and check if (num >= 0), the condition to check negative numbers. If the condition satisfies, then increase negative count else increase the positive count

Javascript




<script>   
    var numbers=[10,-12,89,56,-83,8,90,-8]
    var pos_count=neg_count=0
    for(let i=0;i<numbers.length;i++)
    {
      if (numbers[i]<0)
       neg_count++;
      else
       pos_count++;
    }
    console.log(`The positive numbers in an array is ${pos_count}`)
    console.log(`The negative numbers in an array is ${neg_count}`)
</script>


Output

The positive numbers in an array is 5
The negative numbers in an array is 3

Example 2: The following code uses JavaScript while loop.

Javascript




<script>  
    var numbers=[7,-8,55,-87,28,74,-21,54,4]
    var pos_count=neg_count=i=0
    while(i<numbers.length)
    {
      if (numbers[i]<0)
       neg_count++;
      else
       pos_count++;
      i++;
    }
    console.log(`The positive numbers in an array is ${pos_count}`)
    console.log(`The negative numbers in an array is ${neg_count}`)
</script>


Output

The positive numbers in an array is 6
The negative numbers in an array is 3

Example 3: The following code uses JavaScript using forEach Loop 

Javascript




var numbers=[-8,10,23,44,-80,-15,-13,-1]
var pos_count=neg_count=0
numbers.forEach(element => {
  if (element<0)
   neg_count++;
  else
   pos_count++;
});
console.log(`The positive numbers in an array is ${pos_count}`)
console.log(`The negative numbers in an array is ${neg_count}`)


Output

The positive numbers in an array is 3
The negative numbers in an array is 5

Example 4:Using map method

Javascript




var numbers=[10,-12,89,56,-83,8,90,-8]
var pos_count=neg_count=0
numbers.map(function(element)
{
  if (element<0)
   neg_count++;
  else
   pos_count++;
});
console.log(`The positive numbers in an array is ${pos_count}`)
console.log(`The negative numbers in an array is ${neg_count}`)


Output

The positive numbers in an array is 5
The negative numbers in an array is 3

Example 5:Using Recursion

Javascript




function countNumbers(numbers, index, pos_count, neg_count) {
    if (index < numbers.length) {
        if (numbers[index] < 0) {
            neg_count++;
        } else {
            pos_count++;
        }
        return countNumbers(numbers, index + 1, pos_count, neg_count);
    } else {
        return { pos_count, neg_count };
    }
}
 
var numbers=[-8,10,23,44,-80,-15,-1]
var counts = countNumbers(numbers, 0, 0, 0);
console.log(`The positive numbers in an array is ${counts.pos_count}`)
console.log(`The negative numbers in an array is ${counts.neg_count}`)


Output

The positive numbers in an array is 3
The negative numbers in an array is 4

Efficient Code:-

This code is more efficient because it eliminates the need for recursion and the function calls that come with it, and instead uses a simple for loop to iterate through the array. This should result in faster execution and less memory usage.

Javascript




function countNumbers(numbers) {
    let pos_count = 0;
    let neg_count = 0;
 
    for (let i = 0; i < numbers.length; i++) {
        if (numbers[i] < 0) {
            neg_count++;
        } else {
            pos_count++;
        }
    }
    return { pos_count, neg_count };
}
 
var numbers = [-8, 10, 23, 44, -80, -15, -1]
              var counts = countNumbers(numbers);
console.log(`The positive numbers in an array is $ {counts.pos_count}`)
console.log(`The negative numbers in an array is $ {counts.neg_count}`)


C++




#include <iostream>
using namespace std;
 
struct Counts {
    int pos_count;
    int neg_count;
};
 
Counts countNumbers(int numbers[], int size) {
    Counts counts = {0, 0};
    for (int i = 0; i < size; i++) {
        if (numbers[i] < 0) {
            counts.neg_count++;
        } else {
            counts.pos_count++;
        }
    }
    return counts;
}
 
int main() {
    int numbers[] = {-8, 10, 23, 44, -80, -15, -1};
    int size = sizeof(numbers) / sizeof(numbers[0]);
    Counts counts = countNumbers(numbers, size);
    cout << "The positive numbers in an array is " << counts.pos_count << endl;
    cout << "The negative numbers in an array is " << counts.neg_count << endl;
    return 0;
}


Java




class Main {
    static class Counts {
        int pos_count;
        int neg_count;
    }
 
    static Counts countNumbers(int[] numbers) {
        Counts counts = new Counts();
        counts.pos_count = 0;
        counts.neg_count = 0;
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] < 0) {
                counts.neg_count++;
            } else {
                counts.pos_count++;
            }
        }
        return counts;
    }
 
    public static void main(String[] args) {
        int[] numbers = {-8, 10, 23, 44, -80, -15, -1};
        Counts counts = countNumbers(numbers);
        System.out.println("The positive numbers in an array is " + counts.pos_count);
        System.out.println("The negative numbers in an array is " + counts.neg_count);
    }
}


C#




using System;
 
class MainClass {
    struct Counts {
        public int pos_count;
        public int neg_count;
    }
    public static Counts countNumbers(int[] numbers) {
        Counts counts = new Counts { pos_count = 0, neg_count = 0 };
        for (int i = 0; i < numbers.Length; i++) {
            if (numbers[i] < 0) {
                counts.neg_count++;
            } else {
                counts.pos_count++;
            }
        }
        return counts;
    }
    public static void Main(string[] args) {
        int[] numbers = new int[] {-8, 10, 23, 44, -80, -15, -1};
        Counts counts = countNumbers(numbers);
        Console.WriteLine("The positive numbers in an array is " + counts.pos_count);
        Console.WriteLine("The negative numbers in an array is " + counts.neg_count);
    }
}


Output

The positive numbers in an array is $ {counts.pos_count}
The negative numbers in an array is $ {counts.neg_count}

Example 7:  using the Array.prototype.filter() method to filter out positive and negative numbers

Javascript




// defining the array of numbers
var numbers=[-8,10,23,44,-80,-15,-13,-1]
 
// creating a new array containing only positive numbers using filter method
var positiveNumbers = numbers.filter(function(number) {
  // return only numbers greater than or equal to 0
  return number >= 0;
});
 
// creating a new array containing only negative numbers using filter method
var negativeNumbers = numbers.filter(function(number) {
  // return only numbers less than 0
  return number < 0;
});
 
// printing the count of positive numbers in the array
console.log(`The positive numbers in an array is ${positiveNumbers.length}`)
 
// printing the count of negative numbers in the array
console.log(`The negative numbers in an array is ${negativeNumbers.length}`)


Output

The positive numbers in an array is 3
The negative numbers in an array is 5

Time complexity: O(n)
Auxiliary Space: O(n) 



Last Updated : 01 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads