功能不应该返回true

时间:2015-03-19 17:00:22

标签: javascript

我正在学习如何编程,我在编码课上收到了以下任务:

  

创建一个带参数的函数,如果没有数字为负,则返回true

我尝试使用以下代码执行此操作:

function allPositive(a) {
    if(a > 0) {
        return true
    }
}

我尝试运行allPositive([4,3,2,1]),但它没有返回true。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

如果不是正面(即负面),你会忘记归还。请尝试这种方式:

function allPositive(a){
    if (a > 0) {
        return true;
    } else {
        return false;
    }
}

这个表达式可以用更优雅的方式编写,如下所示:

function allPositive(a){
    return a > 0;
}

我认为,0是一个正整数,因此,比较应该使用>=代替。

回到最初的问题,该任务暗示有几个要检查的数字,即数字的数组。你应该查找loops迭代一个数组中的所有元素,并检查它们是正还是负。

天真的算法是检查每个元素,并且只要是负数,就返回false。如果你到达循环之外,这意味着所有都是正数,那么返回true。让我们看看你能想出什么! :)