我有以下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")
}
});
}
代码有什么问题?
答案 0 :(得分:5)
您可以使用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 });
请注意,这会对布尔值true
进行严格检查,而不仅仅是任何真值