【问题标题】:How to make a function take in an array of numbers and give the ones less than 70?如何让函数接受一组数字并给出小于 70 的数字?
【发布时间】:2014-09-24 03:35:09
【问题描述】:

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

该函数必须接受一个参数,该参数将包含一系列成绩(例如,[100, 90, 100, 50, 80, 60]) 函数必须返回有多少成绩是不合格的,不合格是低于 70 的成绩”这就是问题

-这是我到目前为止所拥有的,但是当我尝试提交它时,它说,“我们调用了”countFailing(100,70,90)”(随机数)并且您的答案返回 2,而它应该是 0 "

//enter code here 
var counter = 0;
var grades = "[]";
function countFailing(grades) 
{
    for (var i = 0; i < grades.length; i++)
    {
        if (grades[i] <= 69 )
        {
            counter++;
    }
    } return (counter);
}

【问题讨论】:

  • ^^ 我们都非常感谢!
  • 如果这是一个作业,你应该自己做,无论如何都是为了你自己的利益,不要走捷径
  • @Ghost 我认为这正是 OP 所做的 :)
  • 也不完全与 php 相关
  • @jangroth 答案就差不多了,只是做了一些修改,当你自己做这件事时会更令人满意

标签: javascript arrays function


【解决方案1】:

您可以使用Array.filter() 方法来做到这一点

var grades = [100, 90, 100, 50, 80, 60];

function isLessthan(element) {
  return element >= 70;
}
var filtered = grades.filter(isLessthan);

alert(filtered);

【讨论】:

    【解决方案2】:

    差不多了,改成这样吧

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

    DEMO HERE

    【讨论】:

      【解决方案3】:

      问题是您将grades 分配给"[]" 并将其视为字符串,而实际上它应该只是[]

      【讨论】:

        【解决方案4】:

        尽管我会使用reduce 提出各种不同的建议

        function foo(grades) {
            return grades.reduce(function (sum, now) {return now < 70 ? sum + 1 : sum;}, 0);
        }
        
        foo([50, 60, 70, 80]); // 2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-07
          • 2015-02-10
          • 1970-01-01
          • 1970-01-01
          • 2021-01-08
          • 1970-01-01
          • 2019-03-19
          • 1970-01-01
          相关资源
          最近更新 更多