小编典典

如何打破 underscore.js 中的 _.each 函数

all

我正在寻找一种方法来停止 underscore.js_.each()方法的迭代,但找不到解决方案。.each()如果你这样做,
jQuery可能会中断return false

有没有办法停止下划线each()?

_([1,2,3]).each(function(v){
    if (v==2) return /*what?*/;
})

阅读 107

收藏
2022-06-30

共1个答案

小编典典

您不能脱离each方法——它不会模拟本机forEach方法的行为,并且本机forEach不提供转义循环(除了抛出异常)。

然而,所有的希望都不会消失!
您可以使用该Array.every方法。:)

从那个链接:

every对数组中存在的每个元素执行callback一次提供的函数,直到找到一个callback返回 false
值的元素。如果找到这样的元素,该every方法立即返回 false。

换句话说,你可以做一些像这样复杂的事情(链接到 JSFiddle):

[1, 2, 3, 4].every(function(n) {
    alert(n);
    return n !== 3;
});

1这将通过发出警报3,然后“中断”出循环。

您正在使用 underscore.js,因此您会很高兴得知它 确实
提供了一个every方法every——他们称之为all.

2022-06-30