试图在JavaScript中划分负面和正面

时间:2017-08-02 00:51:03

标签: javascript arrays

非常新,尝试创建一个取出并分离数组中所有负数/正数/零的函数。到目前为止,我已经能够制作一个可接受的循环,但只能使用硬编码的数字。目前不知道如何将其转换为函数。请帮忙。

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);

2 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

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]);

这个新函数将数组作为参数,所以你需要做的就是调用它并传递数组。

答案 1 :(得分:0)

您也可以尝试这种方式,在这里我将0视为正数。如果需要,您可以根据要求调整条件。

  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));