【问题标题】:Can you return a Boolean value in loop in this condition在这种情况下,你能在循环中返回一个布尔值吗
【发布时间】:2020-04-07 17:16:12
【问题描述】:

我希望有人可以为我回答这个问题。在 JavaScript 中是否有一种方法可以使用内部带有“if”语句的循环,并且仅当循环迭代中的所有值都满足该条件时才返回 true。谢谢

【问题讨论】:

  • for (…) { if (!condition) return false; } return true

标签: javascript for-loop if-statement boolean


【解决方案1】:

是的,有。例如,Array 的 .every 方法就是这样做的。
引用自 MDN:

every() 方法测试数组中的所有元素是否通过提供的函数实现的测试。它返回一个布尔值。

const ages = [24, 32, 22, 21, 29];
const legalDrinkingAge = 21;
const areLegalDrinkingAges = ages.every(age => age >= legalDrinkingAge);

console.log(areLegalDrinkingAges);

【讨论】:

    【解决方案2】:

    您可以定义一个 var,例如result 持有值 true,然后执行 for 循环并使用 if 语句检查条件。一旦条件失败,将result 设置为false 并跳出for 循环。

    最后,如果 if 语句对所有检查的元素都为真,result 将为 true,否则为 false

    var result = true;
    var a = [12,14,16,18,5,11,12];   // array with example values
    for (var i = 0; i < a.length; i ++) {
        if (!(a[i] >= 10)) {  // the condition
            result = false;
            break;
        }
    }
    console.log(result); // false
    

    【讨论】:

    • 谢谢。有道理!
    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多