【发布时间】:2020-04-07 17:16:12
【问题描述】:
我希望有人可以为我回答这个问题。在 JavaScript 中是否有一种方法可以使用内部带有“if”语句的循环,并且仅当循环迭代中的所有值都满足该条件时才返回 true。谢谢
【问题讨论】:
-
for (…) { if (!condition) return false; } return true
标签: javascript for-loop if-statement boolean
我希望有人可以为我回答这个问题。在 JavaScript 中是否有一种方法可以使用内部带有“if”语句的循环,并且仅当循环迭代中的所有值都满足该条件时才返回 true。谢谢
【问题讨论】:
for (…) { if (!condition) return false; } return true
标签: javascript for-loop if-statement boolean
是的,有。例如,Array 的 .every 方法就是这样做的。
引用自 MDN:
every() 方法测试数组中的所有元素是否通过提供的函数实现的测试。它返回一个布尔值。
const ages = [24, 32, 22, 21, 29];
const legalDrinkingAge = 21;
const areLegalDrinkingAges = ages.every(age => age >= legalDrinkingAge);
console.log(areLegalDrinkingAges);
【讨论】:
您可以定义一个 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
【讨论】: