簡體   English   中英

Javascript-將1/0和'true'/'false'和true / false轉換為布爾值的好方法

[英]Javascript - Nice way to convert 1/0 & 'true'/'false' & true/false to boolean

我有一個有時可能以1/0(整數或字符串數​​)形式傳遞的變量,或者以字符串'true'/'false'或實際的布爾值true / false傳遞。 我想將所有情況轉換為實際的布爾值。

除了執行一堆if語句和=== ,還有沒有更快速,更優雅的方法?

將對象與映射一起使用:

var translations = {
    "true": true,
    "1": true,
    "false": false,
    "0": false
};

接着

var my_value = "true";  # or 1, "false", 0... etc
var my_bool = translations[my_value];

在JS中,對象的鍵會自動轉換為字符串(如果我的內存沒有故障,則通過調用.toString),因此true"true"將返回相同的結果。 0"0"

編輯

如果您的環境支持它,那么最好使用完全空的對象:

var translations = Object.create(null);
translations['true'] = true;
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM