Javascript 如何使一个函数接受一个数字数组并给出小于70的数字?

Javascript 如何使一个函数接受一个数字数组并给出小于70的数字?,javascript,arrays,function,Javascript,Arrays,Function,“编写一个名为countFailing的JavaScript函数,该函数接受一个分数数组,并返回不及格分数(低于70的分数) 函数必须包含一个包含等级数组的参数(例如,[100,90,100,50,80,60]) 函数必须返回有多少个等级是不合格的,不合格是低于70的等级“这就是问题所在 -这是我到目前为止得到的结果,但当我尝试提交它时,它说,“我们称之为“countFailing(100,70,90)”(随机数),而你的答案返回了2,而它本应该是0” //在此处输入代码 var计数器=0; v

“编写一个名为countFailing的JavaScript函数,该函数接受一个分数数组,并返回不及格分数(低于70的分数)

函数必须包含一个包含等级数组的参数(例如,[100,90,100,50,80,60]) 函数必须返回有多少个等级是不合格的,不合格是低于70的等级“这就是问题所在

-这是我到目前为止得到的结果,但当我尝试提交它时,它说,“我们称之为“countFailing(100,70,90)”(随机数),而你的答案返回了2,而它本应该是0”

//在此处输入代码
var计数器=0;
var等级=“[]”;
职能(职系)
{
对于(变量i=0;i如果(grades[i]你差一点就拿到了,就把它改成这样

var grades = [100, 90, 100, 50, 80, 60];
function countFailing(gradesArr){
var counter = 0;
for (var i = 0; i < gradesArr.length; i++){
    if (gradesArr[i] < 70 )
        counter++;
} 
return counter;
}

alert(countFailing(grades)); 
var等级=[100,90,100,50,80,60];
函数计数失败(分级器){
var计数器=0;
对于(变量i=0;i

问题在于,您将
等级
分配给
“[]”
,并将其视为字符串,实际上,它应该仅为
[]

您可以使用该方法执行此操作

var等级=[100,90,100,50,80,60];
函数小于(元素){
返回元素>=70;
}
var filtered=等级。过滤器(Islesson);

警报(过滤);
以及您收到的所有不同建议,我想我会在某种程度上使用

功能foo(等级){
返回等级.reduce(函数(sum,now){return now<70?sum+1:sum;},0);
}
foo([50,60,70,80]);//2

^^^^对此我们都非常感谢!如果这是一项任务,你应该自己完成,不管怎样,这是为了你自己的利益,不要走捷径out@Ghost我认为这正是OP所做的:)不完全与php相关either@jangroth答案就在那里,只是一些修改,当你自己做这件事时,它会更令人满意
var grades = [100, 90, 100, 50, 80, 60];
function countFailing(gradesArr){
var counter = 0;
for (var i = 0; i < gradesArr.length; i++){
    if (gradesArr[i] < 70 )
        counter++;
} 
return counter;
}

alert(countFailing(grades)); 
function foo(grades) {
    return grades.reduce(function (sum, now) {return now < 70 ? sum + 1 : sum;}, 0);
}

foo([50, 60, 70, 80]); // 2