我有一个像这样的数组
var promises = [true,false,true,true,false];
什么是确定真实结果的最佳方法 来自所有价值观?
我可以使用forEach
或for in
,但还有其他更好的方法吗?
我没有使用下划线或lodash,而是使用jQuery。
E.g。如果上面的结果将是false
。
基本上真正的结果是对所有值进行AND运算。
答案 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