javascript - 测试数组中是否有任何项返回 true?

标签 javascript underscore.js

我有一个对象数组,目前我循环遍历它们并逐一测试它们,但我尝试使我的代码更加简洁且易于遵循。我想知道是否有一种方法,使用 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/

相关文章:

javascript - JavaScript 中 _() 和 () 的区别

javascript - 如何在 underscore.js 中实现 `zipWithIndex` ?

javascript - 如何获取d3.ease的返回值?

javascript - 使用 .reduce 为每个名字求和点

javascript - 使用 turn.js 定期刷新书籍的动态页面

javascript - 检查下划线模板中的 undefined variable

javascript - 如何获取文本区域中选择的起点和终点?

javascript - 为什么在 SharePoint 2013 中进行 CAR 自定义后,项目未显示在 Web 部件中?

javascript - 如何在 Javascript 中使用 takeWhile 函数?

javascript - 合并并返回唯一数组问题