Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果数组中的所有数字元素都足够,请检入JavaScript_Javascript_Arrays - Fatal编程技术网

如果数组中的所有数字元素都足够,请检入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");
 }