检查是否所有返回的数组都包含值 false

Check if all returned arrays contains the values false

本文关键字:数组 包含值 false 返回 是否 检查      更新时间:2023-09-26
console.log(allStatuses);

此变量返回两个数组:

[true, false, false, false, false]
[true, false, false, true, false]

有时会返回更多带有true/false值的数组。

我想检查是否所有返回的数组都包含false如果是,请做点什么。

完成此操作的最佳方法是什么?

以下是负责的代码:

angular.forEach($scope.prefAccount, function(account){
     if (typeof account === 'object') {
          var allStatuses = [];  
          angular.forEach(account, function(alertStatus){
               return allStatuses.push(alertStatus.enabled);
          })
          console.log(allStatuses);
     }                    
});

您可以使用.every.concat(从二维创建一维数组(

var allStatuses = [
  [true, false, false, false, false],
  [true, false, false, true, false]
]
allStatuses = [].concat.apply([], allStatuses);
var isFalse = allStatuses.every(function (el) {
  return el === false;
})
console.log(isFalse);

最短、最语义的版本是:

allStatuses.every(a => !a.some(Boolean))

或不带箭头函数:

allStatuses.every(function(a) { return !a.some(Boolean); })

英文版:

allStatuses中的每个数组都不应具有某些(任何(真值。