0
私は行のリストを持っていて、そのうちのどれかにWeekHrsプロパティがゼロに設定されているかどうかに応じてブールフラグを設定したい。 だから私はこのコードが動作します。しかし、フラグがfalseに設定されるとForEachループが壊れるので非効率です。 これを行うにはより良い方法が必要ですか?ノックアウト:観測可能な配列のゼロを検索する
self.isFull = function() {
var isFull = true;
ko.utils.arrayForEach(self.Lines(),
function (line) {
if (line.WeekHrs() === 0) {
isFull = false;
}
});
return isFull;
},
私は他のユーティリティを見ましたが、私はこの問題のためにそれらを使用する方法を考え出すことができません。
古いブラウザをサポートする必要がある場合は、 'some'や' arrayForEach'のようなユーティリティをバイパスして、単にforループを使用することができます。ちょうど新しいメソッドがあるからといって、古い方法が適切なときにそれらを使用しなければならないというわけではありません:) –
@JamesThorpe、あなたが提案した同等のものを含めました。 'some'はしばらくの間specに入っていたことに注意してください(http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.17)。個人的には、新しい機能を採用するのはあまりにも恐れてはいけないと思います... – user3297291
ああ、絶対に - 新しい機能は、もっときれいなコードを提供します。しかし、時には彼らは途方もないこともあります。 OPsのコードとあなたの 'some'の例を見直してみてください - 私は頭の中でダブルネガティブが起こっているかもしれませんが、あなたのコードが元のものとマッチしているかどうか分かりません。 (脳はあまりにも多くのモーメントでそれについて考えることを傷つけている!) –