我有一个对象数组,目前我循环遍历它们并逐一测试它们,但我尝试使我的代码更加简洁且易于遵循。我想知道是否有一种方法,使用 javascript 或下划线,来测试数组中至少一项是否返回 true。
for (var x = 0; x < user.apilog.length; x++) {
//test the conversion
if(conversions[i].conditional(user.apilog[x]) ){
//run if true
break;
}
}
最佳答案
如果user.apilog
是一个数组,那么您可以使用Array.prototype.some()
:
var found = user.apilog.some(function (item, i) {
return conversions[i].conditional(item);
});
n.b. underscore 还提供了一个 some
方法,其工作方式几乎相同,好处是它应该适用于类似数组的对象以及实际数组:
var found = _.some(user.apilog, function (item, i) {
return conversions[i].conditional(item);
});
关于javascript - 测试数组中是否有任何项返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27380032/