检查javascript数组对象属性

时间:2016-10-11 11:43:17

标签: javascript arrays arraylist

我有以下javascript对象数组,如果至少有一个对象为true,我需要检查输出属性返回true否则返回false,有人可以帮我实现吗?

var array=[{"id":100,"output":false},{"id":100,"output":false},
{"id":100,"output":true}]    

4 个答案:

答案 0 :(得分:9)

您可以使用Array#some

  

some() 方法测试数组中的某个元素是否通过了由提供的函数实现的测试。

var array = [{ "id": 100, "output": false }, { "id": 100, "output": false }, { "id": 100, "output": true }];
    result = array.some(function (a) { return a.output; });

console.log(result);

答案 1 :(得分:1)

function hasOneTrue(a){
  return !!a.filter(function(v){
    return v.output;
  }).length;
}

var array = [{"id":100,"output":false}, {"id":100,"output":false}, {"id":100,"output":true}]
console.log(hasOneTrue(array)); // true

答案 2 :(得分:0)

你可以遍历数组并检查每个属性。

var array = [
    {"id":100,"output":false},
    {"id":100,"output":false},
    {"id":100,"output":true}
];

function testOutput ( array ) {
    for (el in array)
        if ( el.output ) return true;

    return false;
}

testOutput (array);

最好的问候

答案 3 :(得分:0)

最快+最兼容



var result = false
var json = [{"id":100,"output":false},{"id":100,"output":false},{"id":100,"output":true}]

for(
  var i = json.length;
  !result && i;
  result = json[--i].output
);

console.log("at least one? ", result)