为什么lodash的“某些”功能不能按预期工作?

地亚哥

我正在尝试使用lodash 2.4.1来确定数组中true是否有至少一个元素作为其value

所以我决定使用lodashsomeanyfunction。

这是我的代码如下所示:

if ( _.some([lineup.reachesMaxForeignPlayers(), lineup.reachesBudgetLimit()], true) ) {
  response.send(400, "La inclusión de este jugador no satisface las reglas del juego");
}

这是从来没有的,如果块中去,甚至是第一条件居然计算结果为true。

我有:

console.log(lineup.reachesMaxForeignPlayers());
console.log(lineup.reachesBudgetLimit());

在该if之前,我实际上可以看到第一个语句的计算结果为true

它可能会导致什么失败?

我使用lodash 2.4.1,因为它包含Sails js依赖项。

丁丁

编辑:

实际上,仅使用不带谓词的_.some[docs]默认会标识:

_.some(bool_arr) 

应该管用。

console.log(_.some([true, true, false]));
console.log(_.some([false, false, false]));
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js"></script>
 


除了其他建议Boolean以谓词为准的答案您还可以使用:

_.some(bool_arr, _.identity)

_.identity[docs]

此方法返回提供给它的第一个参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章