/ / Werfen Sie einen Bool in JavaScript [duplizieren] - Javascript

Werfen Sie einen Bool in JavaScript [duplizieren] - Javascript

Mögliche Duplikate:
Wie kann ich eine Zeichenfolge in JavaScript boolesch konvertieren?

Hallo,

Wie kann ich eine Schnur in Bool werfen?

Beispiel: "Falsch" zu boolen falsch

Ich brauche das für mein JavaScript.

Danke für die Hilfe !

Antworten:

9 für die Antwort № 1
function castStrToBool(str){
if (str.toLowerCase()=="false"){
return false;
} else if (str.toLowerCase()=="true"){
return true;
} else {
return undefined;
}
}

... aber ich denke Jon's Antwort ist besser!


26 für die Antwort № 2

Du kannst das:

var bool = !!someString;

Wenn Sie das tun, werden Sie feststellen, dass die Zeichenfolge konstant ist "False" ist in der Tat boolesch true. Warum? Denn das sind die Regeln in Javascript. Alles was nicht ist undefined, null, die leere Zeichenfolge (""), oder numerische Null wird berücksichtigt true.

Wenn Sie Ihre eigenen Regeln für Strings festlegen möchten (eine zweifelhafte Idee, aber es ist Ihre Software), könnten Sie eine Funktion mit einer Nachschlagetabelle schreiben, um Werte zurückzugeben:

function isStringTrue(s) {
var falses = { "false": true, "False": true };
return !falses[s];
}

könnte sein.

bearbeiten - den Tippfehler korrigiert - danke @Patrick


24 für die Antwort № 3

Sie können so etwas verwenden, um Ihren eigenen benutzerdefinierten "is-true" -Test für Strings bereitzustellen, während Sie die Art und Weise lassen, wie andere Typen nicht betroffen sind:

function isTrue(input) {
if (typeof input == "string") {
return input.toLowerCase() == "true";
}

return !!input;
}

3 für die Antwort № 4
function castBool(str) {
if (str.toLowerCase() === "true") {
return true;
} else if (str.toLowerCase() === "false") {
return false;
}
return ERROR;
}

ERROR ist was auch immer du willst.