user8402521
user8402521

Reputation: 13

trying to divide negatives and positives in JavaScript

Very new, trying to make a function that takes out and separates all negatives/positives/zeros in an array. So far Ive been able to make an acceptable for loop but only with hard coded numbers. Dont currently know how to convert it into a function. please help.

var arr=[1,3,5,-9,-3,0];
var new_arr = [];
var new_arr2 = [];
var new_arr3=[];
for(i =0; i < arr.length; i++){
    if(arr[i]>0){
      new_arr.push(arr[i]);
    }
    else if(arr[i]<0){
      new_arr2.push(arr[i]);
    }
    else if(arr[i]===0){
      new_arr3.push(arr[i]);
    }  
}
console.log(new_arr3.length/arr.length);
console.log(new_arr2.length/arr.length);
console.log(new_arr.length/arr.length);

Upvotes: 0

Views: 39

Answers (2)

A l w a y s S u n n y
A l w a y s S u n n y

Reputation: 38502

You can try this way also, here I am considering 0 as a positive number. If you want, you can tweak the condition as per requirement.

  function positive_negative(array ){

    positive = array.filter(function (a) { return a >= 0; });
    negative = array.filter(function (a) { return a < 0; });
    return [positive,negative];

  }

var array = [1,3,5,-9,-3,0];
console.log(positive_negative(array));

Upvotes: 0

Obsidian Age
Obsidian Age

Reputation: 42304

How about something like this?

function division(arr) {
  var new_arr = [];
  var new_arr2 = [];
  var new_arr3 = [];
  for (i = 0; i < arr.length; i++) {
    if (arr[i] > 0) {
      new_arr.push(arr[i]);
    } else if (arr[i] < 0) {
      new_arr2.push(arr[i]);
    } else if (arr[i] === 0) {
      new_arr3.push(arr[i]);
    }
  }
  console.log(new_arr3.length / arr.length);
  console.log(new_arr2.length / arr.length);
  console.log(new_arr.length / arr.length);
}

division([1, 3, 5, -9, -3, 0]);

This new function takes the array as a parameter, so all you need to do is call it and pass the array.

Upvotes: 1

Related Questions