我试图在数组中找到正数、负数和零的分数,但该函数没有返回任何内容。
var noOfPostive = 0;
var noOfNegative = 0;
var noOfZero = 0;
function plusMinus(arr) {
/*
* Write your code here.
*/
var length = arr.length;
for (var i = 0; i < arr.length; i++) {
if (i > 0) {
noOfPostive += 1;
} else if (i < 0) {
noOfNegative += 1;
} else {
noOfZero += 1;
}
var FractionOfPostive = noOfPostive / length;
var FractionOfNegative = noOfNegative / length;
var FractionOfZero = noOfZero / length;
return FractionOfPostive, FractionOfPostive, FractionOfZero;
}
}
plusMinus([-4,3,-9,0,4,1]);
原文由 Mostafa Jaafer Ulobeed 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个简单快速的解决方案:
您可以使用过滤函数在数组中进行迭代,并得到一个只有满足条件的数字的新数组;正数 (n> 0)、负数 (n ) 和中性数 (n == 0)。在同一个变量中,您可以计算返回数组的大小并将其除以原始数组的大小,从而得到分数,您必须使用 toFixed(6) 将其格式化为仅小数点后 6 位,并在要求的格式。