我们如何将字符串转换为布尔值? [复制]

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 个选项的选择列表,yesno,类似于:

   <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 属性我们需要布尔值。所以我想知道有没有类似的方法

pareIntparseFloat 可以将字符串转换为布尔值?

【问题讨论】:

由于歧义,您应该指定您认为是真还是假...本质上,所有非空字符串都是真的,即使是字符串"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" -&gt; false 这样的东西,为此你可以使用以下之一:

var bol = something === "true"; //false for anything different than true
var bol = something !== "false"; //true for anything different than false

【讨论】:

以上是关于我们如何将字符串转换为布尔值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将“False”字符串转换为布尔值 false? [复制]

将 0 和 1 字符串转换为布尔值的最 Pythonic 方式是啥? [复制]

Ruby:如何将字符串转换为布尔值

如何将字符串转换为布尔值

使用 Freemarker 将字符串转换为布尔值

如何在 JavaScript 中将字符串转换为布尔值?