检查是否所有返回的数组都包含值 false
Check if all returned arrays contains the values false
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
中的每个数组都不应具有某些(任何(真值。
相关文章:
- 循环遍历以数组为值的Javascript对象
- JavaScript数组包含一个值
- 向多维数组添加值和从多维数组请求值
- JavaScript/jQuery JSON数组问题-值为未定义
- 如何在javascript中访问数组的值
- 如何按数组/对象值的倍数过滤对象数组
- 如何在Javascript中从Json数组导入值
- Javascript-如何在窗体上方显示数组的值
- 根据优先级获取数组的值
- JavaScript 如果数组包含名称,则不要这样做
- 来自 JavaScript 中数组的值的总和
- 如果数组包含特定值,则返回该值的完整“内容”
- JavaScript数组-将值相加
- 读取通过push生成的数组的值
- 正在尝试获取事件之外的更新数组的值
- Javascript if数组包含正则表达式字符串
- 解析云查询数组包含值
- javascript数组对象值包含另一个数组值
- Javascript数组包含值
- 如何检查 JSON 数组包含不同/多个键值对