如果数组的所有值都为真,如何返回 true,否则返回 false
How to return true if all values of array are true otherwise return false?
我有一个这样的数组:
var arr = [ true, true, true ];
现在我想得到true
,因为上面数组的所有键都是true
的。
再比如:
var arr = [ true, false, true ];
现在我需要得到false
,因为数组中有一个false
。
我该怎么做?
执行此操作
的最短代码是 ES5 兼容性的 arr.every(x => x)
或arr.every(function(x) {return x})
。
every
方法将返回 true 或 false 的函数对象作为参数,该对象用于测试数组的每个元素。
怎么样:
!arr.includes(false)
它的可读性更强,运行时也更好,因为它在第一个false
后停止。查看实际操作:
let arr = [ true, true, true ]
console.log(!arr.includes(false))
arr = [ true, false, true ]
console.log(!arr.includes(false))
我同意每个答案都是很好的答案,但您也可以使用一些,如果数组中有很多元素,它会更快,因为当发现第一个 false 时,此函数将立即停止。例如:
var arr = [true, true, true, true, true, true ];
var allTrue = !arr.some(x => x === false);
console.log(allTrue);
var arr = [false, true, true, true, true, true ];
var notAllTrue = !arr.some(x => x === false);
console.log(notAllTrue);
我也喜欢使用以下技巧来解决问题:
const arr = [ true, true, true ];
const allTrue = (arr.filter(Boolean).length == arr.length);
console.log(allTrue);
filter() 中的表达式将仅过滤真值,然后将过滤后的数组的长度与原始数组进行比较,以检查是否全部为 true。
相关文章:
- Regex提取URL返回数组的一部分;未定义”;
- 为循环嵌套的Javascript未按预期返回数组
- 从函数中的函数返回数组时出错
- JSON返回数组的奇怪结果
- 如何从NodeJS中的模块返回数组
- 在JS中返回数组的大整数运算
- 从Nodejs中的函数返回数组,并将其发送到ejs视图
- 从函数返回数组
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- Yui Get 复选框返回数组而不是布尔值
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用
- JavaScript闭包和返回数组元素
- 按流星空格键模板中的索引返回数组项
- 从多个文件中推送文本的函数(使用html5文件读取器上传)返回数组
- 我想返回数组
- PHP和Ajax在回调和返回数组中使用foreach循环
- Javascript-如何通过以字符串作为参数返回数组
- 从JSON调用SQL返回数组时出现问题
- Jasmine spyOn使用伪造的返回数组测试功能
- 无法从从sql数据库读取的javascript函数中获取返回数组