Javascript Codewars挑战-正面计数/负面总和

Javascript Codewars挑战-正面计数/负面总和,javascript,arrays,count,Javascript,Arrays,Count,我的代码可以工作,但为了通过挑战,它没有被接受。对于我做错了什么,任何帮助都将不胜感激 挑战描述: function countPositivesSumNegatives(input) { if (input.length < 1){ return []; } var newArray = [0, 0]; for (var i = 0; i < input.length; i++){ if (input[i] > 0) { newArray[0

我的代码可以工作,但为了通过挑战,它没有被接受。对于我做错了什么,任何帮助都将不胜感激

挑战描述:

function countPositivesSumNegatives(input) {

if (input.length < 1){
  return [];
}

var newArray = [0, 0];


for (var i = 0; i < input.length; i++){

  if (input[i] > 0)
    {
    newArray[0] += 1;
    }

  else {
    newArray[1] += input[i];
  }

  }
return newArray;
}
给定一个整数数组。 返回一个数组,其中第一个元素是正数的计数,第二个元素是负数的和。 如果输入数组为空或null,则返回空数组:

C#/Java: new int[] {} / new int[0];
C++: std::vector<int>();
JavaScript/CoffeeScript/PHP/Haskell: [];
Rust: Vec::<i32>::new();
C#/Java:newint[]{}/newint[0];
C++:std::vector();
JavaScript/CoffeeScript/PHP/Haskell:[];
Rust:Vec:::new();
注意! 不应更改传递的数组。在这里阅读更多*

例如:

function countPositivesSumNegatives(input) {

if (input.length < 1){
  return [];
}

var newArray = [0, 0];


for (var i = 0; i < input.length; i++){

  if (input[i] > 0)
    {
    newArray[0] += 1;
    }

  else {
    newArray[1] += input[i];
  }

  }
return newArray;
}
输入[1,2,3,4,5,6,7,8,9,10,-11,-12,-13,-14,-15]

返回[10,-65]

我的代码:

function countPositivesSumNegatives(input) {

if (input.length < 1){
  return [];
}

var newArray = [0, 0];


for (var i = 0; i < input.length; i++){

  if (input[i] > 0)
    {
    newArray[0] += 1;
    }

  else {
    newArray[1] += input[i];
  }

  }
return newArray;
}
函数计数正/负(输入){
如果(输入长度<1){
返回[];
}
var newArray=[0,0];
对于(变量i=0;i0)
{
新数组[0]+=1;
}
否则{
newArray[1]+=输入[i];
}
}
返回新数组;
}

当质询明确要求“如果输入数组为空或null,则返回空数组”时,您没有检查
null
。请考虑将代码更改为

if (input == null || input.length < 1){
  return [];
}
if(input==null | | input.length<1){
返回[];
}

此代码适用于我(JavaScript)

函数计数正/负(输入){
if(input==null | | input.length<1){
返回[];
}
变量数组=[0,0];
对于(变量i=0;iif(input[i]这里是我在Javascript中使用的一种方法,所以您也可以从中借鉴一些想法

function countPositivesSumNegatives(input) {
if (input == null || input.length < 1){
  return [];
}
var sum =0;
var pos =[];

for (var i=0; i<input.length; i++){

if(input[i]>0){
pos.push(input[i]);

} else{
sum += input[i];

}
}
    return [pos.length, sum];
}
函数计数正/负(输入){
if(input==null | | input.length<1){
返回[];
}
var总和=0;
var pos=[];
对于(var i=0;i0){
位置推送(输入[i]);
}否则{
总和+=输入[i];
}
}
返回[pos.length,sum];
}