您好,
如何在Bool中转换字符串?
实施例: 布隆假
“假”我的JavaScript需要这个。
谢谢你的帮助!
答案 0 :(得分:26)
你可以这样做:
var bool = !!someString;
如果你这样做,你会发现字符串常量"False"
实际上是布尔true
。为什么?因为那些是Javascript中的规则。任何不是undefined
,null
,空字符串(""
)或数字零的内容都被视为true
。
如果你想为字符串强加你自己的规则(一个可疑的想法,但它是你的软件),你可以编写一个带有查找表的函数来返回值:
function isStringTrue(s) {
var falses = { "false": true, "False": true };
return !falses[s];
}
也许
编辑 - 修正了拼写错误 - 谢谢@Patrick
答案 1 :(得分:24)
您可以使用类似的内容为字符串提供自己的自定义“is true”测试,同时保持其他类型的比较不受影响的方式:
function isTrue(input) {
if (typeof input == 'string') {
return input.toLowerCase() == 'true';
}
return !!input;
}
答案 2 :(得分:9)
function castStrToBool(str){
if (str.toLowerCase()=='false'){
return false;
} else if (str.toLowerCase()=='true'){
return true;
} else {
return undefined;
}
}
......但我认为Jon的答案更好!
答案 3 :(得分:3)
function castBool(str) {
if (str.toLowerCase() === 'true') {
return true;
} else if (str.toLowerCase() === 'false') {
return false;
}
return ERROR;
}
ERROR
是你想要的任何东西。