私は3つのレベルで簡単な完了フォームを持っています。戻り値からa.3をスキップ(削除)する方法はありますか?only when
a.3 = undefined?私は、これはトリックを行うべきだと思う角度、Javascript検証skip var from返信
scope.isValid = function() {
return a.1 && a.2 && a.3;
};
ng-disabled="!isValid()"
私は3つのレベルで簡単な完了フォームを持っています。戻り値からa.3をスキップ(削除)する方法はありますか?only when
a.3 = undefined?私は、これはトリックを行うべきだと思う角度、Javascript検証skip var from返信
scope.isValid = function() {
return a.1 && a.2 && a.3;
};
ng-disabled="!isValid()"
:
scope.isValid = function() {
return (a.3 === undefined ? a.1 && a.2 : a.1 && a.2 && a.3);
}
あなたはおよそternary operatorsを学ぶ必要があるあなたがそれにグリップを得れば、それはめちゃくちゃ強力なツールです。
あなたは
(a.1 && a.2 && a.3) || (a.1 && a.2),
に正常化するために削減しなければならないか、配列が最後の非ヌル/空の値を見つけるために減らすことができます。
[a.1, a.2, a.3].reduce(function(a,b) { return b || a; }, null);
これは、それを使用しないように、おそらく可能ですが、私はこの方法をより読みだと思う三項演算子
return (a.3 === undefined)?(a.1 && a.2):(a.1 && a.2 && a.3);
のための仕事です。
'&& a.3'は役に立たない – Tushar
' && a.3'は '(a.1 && a.2 && a.3)'を偽値に変え、 '(a.1 && a.2) 'を返し、そうでなければ' a.3'を返します。 – ArcSine
それは役に立たないということです。 'a.3'が偽であれば、' a.1 && a.2'を返し、それ以外の場合はfalseを返します。これは 'if(a.3){return a1 && a2&& true;} else {return a1 && a2}'と同じです。 – Tushar