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;i if(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];
}