确定数组的真值

时间:2015-05-22 09:34:03

标签: javascript jquery

我有一个像这样的数组

var promises = [true,false,true,true,false];

什么是确定真实结果的最佳方法  来自所有价值观?

我可以使用forEachfor in,但还有其他更好的方法吗?

我没有使用下划线或lodash,而是使用jQuery。

E.g。如果上面的结果将是false

基本上真正的结果是对所有值进行AND运算。

2 个答案:

答案 0 :(得分:3)

你可以使用.every,就像这样

var promises = [true,false,true,true,false];
//var promises = [true,true,true,true,true];

var isTrue = promises.every(function (el) {
  return el === true;
})

console.log(isTrue);

答案 1 :(得分:2)

使用递归有点乐趣:

function truthy (a) {
    return function aux (a, i) {
        return i === a.length || !!a[i] && aux(a, ++i);
    }(a, 0);
}

用法:

truthy([]); // true
truthy([true]); // true
truthy([true, 0]); // false
truthy([true, '']); // false