1

あなたが持っている場合:

var some = [0,1,2,3];
_.forEach(some, function (val) {
    if(val === 1) {
        // this return does nothing
        return;
    }
});

アンダースコアソースを見ると、forEach使用から抜け出すことができます

var breaker = {};

ただし、ブレーカーはパブリック スコープにリリースされておらず、内部変数のようです。

4

1 に答える 1

4

forEach の代わりに some を使用できます。これにより、falsy でないものを最初に返すときに停止します。その反対は every() で、何か偽物を返すと停止します。

.some() は true または false を返すため、クロージャーを使用してデータを渡す必要があります。

var some = [0,1,2,3];
_.some(some, function (val, index) {
    if(val === 1) {
        // this return does nothing
         alert("exiting at step "+index+" from finding "+val);
        return true;
    }

    alert("continuing at step "+index+" found "+val);
});
于 2013-06-11T20:35:18.793 に答える