kurze Hand für die Verkettung logischer Operatoren in Javascript?

8

Gibt es eine bessere Möglichkeit, die folgenden Bedingungen in Javascript zu schreiben?

%Vor%

Ich hasse es, all diese logischen ORs aneinandergereiht zu haben. Ich frage mich, ob es eine Art Kurzschrift gibt.

Danke!

    
Travis 28.05.2010, 20:09
quelle

7 Antworten

5
%Vor%

Upd: Utility-Funktion Beispiel wie in Kommentaren vorgeschlagen:

%Vor%

So können Sie schreiben:

%Vor%     
Li0liQ 28.05.2010, 20:14
quelle
4

Sie könnten das Array-Objekt erweitern:

%Vor%

Wenn Sie dann alle diese Werte in einem Array speichern, können Sie etwas wie MyValues.contains (value)

tun     
Prescott 28.05.2010 20:17
quelle
2

nein, das ist die Kurzschrift.

Als Alternative können Sie switch

verwenden %Vor%

Das ist einfacher zu verwalten, wenn Sie viele mögliche Werte benötigen, aber tatsächlich ist Ihre Version sowieso kürzer:)

    
oedo 28.05.2010 20:14
quelle
1
%Vor%     
kennebec 28.05.2010 20:27
quelle
0

Schalter ist eine akzeptable Wahl. Abhängig von der Komplexität des Problems können Sie auch eine Karte verwenden (vorausgesetzt, Sie haben mehr, als Sie in Ihrem Beispiel angegeben haben).

%Vor%

accept könnte natürlich progamatisch aus einem Array generiert werden. Es hängt wirklich davon ab, wie viel Sie mit diesem Muster planen. : /

    
jimbojw 28.05.2010 20:18
quelle
0

Nun, Sie könnten eine switch-Anweisung verwenden ...

%Vor%

Wenn Sie JavaScript 1.6 oder höher verwenden, können Sie die indexOf-Notation für ein Array verwenden:

%Vor%

Und für die ultimative Hackerei können Sie die Werte zu Strings zwingen (dies funktioniert für alle Browser):

%Vor%     
Matt Brock 28.05.2010 20:24
quelle
0

In dem Bemühen, noch einen anderen Weg zu machen ...

%Vor%

Sie müssen keine Array-Prototypen oder ähnliches erweitern, verwenden Sie einfach einen schnellen Regexp, um den Wert zu testen!

    
gnarf 09.09.2010 20:29
quelle