標準の JavaScript で underscore.js の機能を再実装するためのプログラミングの課題に取り組んでいます。具体的には、_.some
機能の実装に取り組んでいます。( http://underscorejs.org/#some ) 私が苦労している部分は、_.every
内部的に使用して解決する方法を見つけるように求めていることです。( http://underscorejs.org/#every )
私はすでに_.every
機能を以前に終了しており、正常に機能しています。
スケッチされたコードで私がやりたいことは論理的に次のとおりです。
_.some = function(collection, truthStatementFunction) {
return !(_every(collection, !truthStatementFunction))
}
または、英語では、真偽ステートメントを反転して、条件が偽である場所をテストします...そして、_.every
テストが真を返す場合...元の真偽ステートメントの一部が偽であることがわかります(したがって、戻り値を反転し_.every
て取得しますの正しい戻り値_some
)。同様に、_.every
false を返す場合は、それを反転して true の正しい戻り値を取得します_.some
。
明らかに、このスケッチの問題は!truthStatementFunction
パーツです。そのイテレータの内部に入り、関数の内部を変更して反転させるにはどうすればよいですか? 関数の内部にアクセスできないようです...
私は完全に間違ったツリーを吠えていますか? を使用してこれを解決するより良い方法はあり_.every
ますか?