Ich habe eine Variable, die Folgendes speichert false
o true
aber ich brauche 0
o 1
stattdessen. Wie kann ich das tun?
Antworten
Zu viele Anzeigen?
REMqb
Punkte
361
Jose Velasco
Punkte
153
silkfire
Punkte
22713
DroidOS
Punkte
7822
Sie können dies tun, indem Sie einfach den booleschen Prototyp erweitern
Boolean.prototype.intval = function(){return ~~this}
Es ist nicht ganz einfach zu verstehen, was dort vor sich geht, daher wäre eine alternative Version wie folgt
Boolean.prototype.intval = function(){return (this == true)?1:0}
Wenn Sie das getan haben, können Sie Dinge tun wie
document.write(true.intval());
Wenn ich Boolesche Werte zum Speichern von Bedingungen verwende, konvertiere ich sie oft in Bitfelder. In diesem Fall verwende ich eine erweiterte Version der Prototyp-Funktion
Boolean.prototype.intval = function(places)
{
places = ('undefined' == typeof(places))?0:places;
return (~~this) << places
}
mit denen Sie Folgendes tun können
document.write(true.intval(2))
die als Ausgabe 4 erzeugt.
Esger
Punkte
1099
9 Stimmen
Hier ist ein Leistungsvergleich einiger der angebotenen Techniken: jsperf.com/umwandlung-von-boolean-zu-zahl .
6 Stimmen
Node.JS werden die Nutzer verwenden wollen
bool === true ? 1 : 0
da er bei weitem der schnellste V8 ist.6 Stimmen
Oder einfach
bool ? 1 : 0;