我有以下 Javascript 对象数组,我需要检查输出属性是否对所有对象都为 true,如果所有对象的输出为 true,则返回 true,否则返回 false,任何人都可以帮助我实现吗?
var array=[{"id":100,"output":true},{"id":200,"output":true}]
更新
我已经尝试过这段代码,但如果只有一个输出为真而不是所有输出,它就会执行打印
function check(){
var data=[{"id":100,"output":false},{"id":200,"output":true}]
data.every(function (e) {
if(e.checked===true){
console.log("print something")
}
});
}
代码有什么问题吗?
最佳答案
您可以使用Array.every()
测试数组中的所有元素是否通过提供的函数实现的测试
var array = [{"id":100,"output":true},{"id":200,"output":true}]
var istrue = array.every( obj => obj.output === true );
console.log(istrue)
在 ES5 中
array.every( function(obj) { return obj.output === true });
请注意,这会严格检查 bool 值true
,而不仅仅是任何真值
关于javascript - 检查 arraylist 属性是否对所有对象都为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39980786/