我想检查返回的所有语句是否都是false。看看下面的代码:
angular.forEach($scope.preferencesAccount, function(account){
//console.log(account);
if (typeof account === 'object') {
var allStatuses = [];
angular.forEach(account, function(alertStatus){
console.log(alertStatus.enabled);
})
}
})
我想检查返回的所有值是否为false,以便我可以执行某些操作。最好的方法是什么?
答案 0 :(得分:1)
为什么不直接遍历enabled
并检查长度是否与alertStatuses相同:
angular.forEach($scope.preferencesAccount, function(account){
//console.log(account);
if (typeof account === 'object') {
var allStatuses = [];
var falseCounter = 0;
angular.forEach(account, function(alertStatus){
console.log(alertStatus.enabled);
if(!alertStatus.enabled)
falseCounter++;
})
if(falseCounter === account.length)
{
// handle when all are false
}
}
})
答案 1 :(得分:0)
假设您在阵列中拥有所有响应,请使用:
if( responses.every(function( response ) { return !response }) ) {
// ...
}
如果您出于个人目的而这样做并且不关心与其他浏览器的兼容性,则可以使用此快捷方式(但如果您使用它,请不要使用它#39 ;为其他人写这个)
假设您将所有响应都放入数组中,您可以像这样检查它......
if( responses.every( response => !response ) ) {
// ...
}
答案 2 :(得分:-1)
你可以使用Array.every
[false, false, false].every(function (x) {
return !x;
});
这将返回true