2017-02-04 3 views
0

Gibt es eine primitive oder Datenstruktur in Javascript, die immer wahr zurückkehren werden, wenn mit einer Zahl verglichen? I.e.Javascript Datenstruktur/primitive die immer wahr wird zurückkehren, wenn mit einer Zahl verglichen

theVariable > x //true 

wo x ist eine beliebige Zahl des Integer-Typs?

+1

vielleicht '-Infinity'? – CodinCat

+1

Bestimmte Objekte geben "true" zurück. Zum Beispiel ist 'new Date()> 4' 'true' und' typeof new Date() 'ist' "object" '. Nicht sicher, warum Sie einen Nicht-Nummern-Typ mit einer Zahl vergleichen möchten. –

+2

@CodinCat -Infinity ist nicht größer als eine beliebige Zahl: p –

Antwort

0

wobei x eine beliebige Anzahl von der Integer-Typ ist?

Integer ist kein type in ECMAScript, so dass, wenn eine Bedingung ist, dann müssen Sie zunächst zu prüfen, ob x eine ganze Zahl ist, so etwas wie:

Number.isInteger(value) && Infinity > value; 

wird die Arbeit machen.

Der isInteger Test ist streng, so dass, wenn Wert eine Zeichenkette wie "2" ist, wird es scheitern. Wenn Strings erlaubt sein sollte, dann Anzahl zuerst konvertieren, z.B .:

Number.isInteger(+value) && Infinity > value; 

verwenden Number.isInteger, Unterstützung für ECMAScript 2015 ist erforderlich, damit IE entschuldigt, MDN eine polyfill hat.

Wenn Sie versuchen, nur um zu testen, ob Wert eine endliche ganze Zahl ist, dann nur:

Number.isInteger(value); 

die für Unendlichkeit und -Infinity und gilt für alle ganzen Zahlen zwischen false zurückgibt (das kann in ECMAScript dargestellt werden).

Verwandte Themen