我们如何将字符串转换为布尔值? [复制]
Posted
技术标签:
【中文标题】我们如何将字符串转换为布尔值? [复制]【英文标题】:how we can covert a string to boolean? [duplicate] 【发布时间】:2012-07-05 05:40:54 【问题描述】:可能重复:How can I convert a string to boolean in javascript?
我有一个包含 2 个选项的选择列表,yes
或 no
,类似于:
<select size="1">
<option value="true">yes</option>
<option value="false">no</option>
</select>
现在我想在 jquery-UI 按钮禁用属性中使用选定的值,意思是:
$("button").button( disabled : $("select").val() );
现在我的问题是我们将通过$("select").val()
得到的值是string
和
disabled
属性我们需要布尔值。所以我想知道有没有类似的方法
pareInt
或 parseFloat
可以将字符串转换为布尔值?
【问题讨论】:
由于歧义,您应该指定您认为是真还是假...本质上,所有非空字符串都是真的,即使是字符串"false"
。你希望这发生吗?请更具体
可能您想使用
【参考方案1】:
试试这个代码:
var myBool = myString == "true";
【讨论】:
【参考方案2】:自己写怎么样?
我对 JavaScript 语法并不十分熟悉,但试试这个:
function a(inputString)
if(inputString == "true")
return true;
if(inputString == "false")
return false;
我确信有更好的解决方案。这只是我的想法。
【讨论】:
【参考方案3】:var value = ('true' === $("select").val() );
【讨论】:
【参考方案4】:var myBoolean = (myString === 'true') ? true : false;
【讨论】:
三元运算符不需要,可以直接使用相等结果:var myBoolean = myString === 'true';
有人真的是-1,因为我的评论?,这只是一个小小的改进,并不是 dv 的真正理由:/
@ajax333221 是的,您和接受的答案更优雅。另外,我不只是讨厌匿名投票者。【参考方案5】:
有点像
$("select").val() == 'true'
应该可以解决问题。
【讨论】:
【参考方案6】:取决于你想要做多少次。如果它会在你的代码中乱扔垃圾,我会添加一个函数,比如:
Boolean.parse = function (str)
switch (str.toLowerCase ())
case "true":
return true;
case "false":
return false;
default:
throw new Error ("Boolean.parse: Cannot convert string to boolean.");
;
【讨论】:
【参考方案7】:你可以使用第三个:
var num = +something; //toNumber
var str = something + ""; //toString
var bol = !!something; //toBoolean
这会将0, "", false, null, undefined, NaN
变为false
,其他所有内容都变为true
但是使用我的推理能力,你想要像 "false" -> false
这样的东西,为此你可以使用以下之一:
var bol = something === "true"; //false for anything different than true
var bol = something !== "false"; //true for anything different than false
【讨论】:
以上是关于我们如何将字符串转换为布尔值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何将“False”字符串转换为布尔值 false? [复制]