如果数组中的所有数字元素都足够,请检入JavaScript
我有一个如下定义的数组:如果数组中的所有数字元素都足够,请检入JavaScript,javascript,arrays,Javascript,Arrays,我有一个如下定义的数组: var numbers = [11, 12, 13, 14, 15, 16, 17, 18]; 我想检查这个数组中的所有数字是否都大于10,并且我只需要一个输出 我试过这个: for (var i = 0; i < numbers.length; i++) { if (numbers[i] > 10) { console.log("Valid"); } else { console.log("Not
var numbers = [11, 12, 13, 14, 15, 16, 17, 18];
我想检查这个数组中的所有数字是否都大于10,并且我只需要一个输出
我试过这个:
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] > 10) {
console.log("Valid");
} else {
console.log("Not valid");
}
}
for(变量i=0;i10){
控制台日志(“有效”);
}否则{
控制台日志(“无效”);
}
}
这给了我多个输出,因为它在循环中,但我只需要一个有效语句
PS:很抱歉这个问题。这个问题有很多解决方案。其中最简单的可能是创建一个函数:
var numbers = [11, 12, 13, 14, 15, 16, 17, 18];
function allNumbersLessThan10() {
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] > 10) {
return false
}
}
return true;
}
console.log(allNumbersLessThan10());
var数=[11,12,13,14,15,16,17,18];
函数allNumbersLessThan10(){
对于(变量i=0;i10){
返回错误
}
}
返回true;
}
log(allNumbersLessThan10());
如果任何数字大于10,那么所有数字都不能小于10,因此我们返回false
如果我们完成了对循环中所有数字的求值,但还没有找到一个大于10的数字,那么所有数字都必须小于10,因此我们返回
true
我个人更喜欢Array.prototype.every()
此函数为每个元素执行一次提供的回调,直到回调返回false
。如果发生这种情况,every()
函数将返回false
以下是一个例子:
var数=[11,12,13,14,15,16,17,18];
函数检查元素(元素、索引、数组){
返回(元素>10);
}
if(number.every(checkElements))console.log('Valid');
else console.log('无效')代码>位于的文档右侧
因此,在你的情况下,你需要颠倒这种逻辑
function isSmallerThan10(element, index, array) {
return element < 10;
}
[2, 5, 8, 1, 4].some(isSmallerThan10); //true
试试这个:
numbers=["11","12","13","14","15","16","17","18"];
if (numbers[0] > 10 && numbers[1] >10 && numbers[2] > 10 && numbers[3] >10 && numbers[4] > 10 && numbers[5] >10 && numbers[6] > 10 && numbers[7] >10) {
console.log("Valid");
} else {
console.log("Not valid");
}
它没有用于迭代的功能,如果使用不当可能会损坏设备的使用寿命。只需使用一个if-like-if(number[i]<10){console.log(“invalid”);break;}这将在命中第一个有效项后立即退出函数。。。当然,只有一个输出,但它是错误的。谢谢:-)从其他答案来看,似乎已经有内置函数正是这样做的。我必须承认我不知道他们…谢谢!那是为了我!“如果使用不当可能会损坏设备寿命”很抱歉,但这句话完全是胡说八道……没问题。有什么问题?“可能会损坏设备寿命”请证明。我很感兴趣。
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
numbers=["11","12","13","14","15","16","17","18"];
if (numbers[0] > 10 && numbers[1] >10 && numbers[2] > 10 && numbers[3] >10 && numbers[4] > 10 && numbers[5] >10 && numbers[6] > 10 && numbers[7] >10) {
console.log("Valid");
} else {
console.log("Not valid");
}