鍍金池/ 問答/HTML/ JS中如何快速把字符串false轉(zhuǎn)換成布爾類型?

JS中如何快速把字符串false轉(zhuǎn)換成布爾類型?

我寫了一個(gè)MVC版的TodoList,這是其中一段代碼,其中用到了formidable,蛋疼的是formidable會(huì)把前端發(fā)過來的false轉(zhuǎn)化成字符串的"false",這個(gè)和我的預(yù)期不一樣,所以我需要把字符串轉(zhuǎn)回Boolean,下面是我的笨辦法:

exports.changeTodo = function(req, res) {
    var form = new formidable.IncomingForm()
    form.parse(req, function(err, fields){
        var id = fields.id
        var k = fields.k
        var v = fields.v
        if(v == "true"){
            v = true
        } else if (v == "false"){
            v = false
        }
        todo.changeTodo(id, k, v, function(err) {
            res.json({"result": err ? -1 : 1})
        })
    })
}

請(qǐng)問有什么好的辦法解決字符串false轉(zhuǎn)換成布爾類型的問題呢?或者是怎么規(guī)避formidable自動(dòng)轉(zhuǎn)換其他數(shù)據(jù)類型為字符串的問題呢?

回答
編輯回答
短嘆

JSON.parse('false')

2017年7月3日 20:05
編輯回答
尐懶貓

var a = 0;
!!a = ture;
直接用雙!就能強(qiáng)制轉(zhuǎn)換

2017年2月28日 07:32
編輯回答
骨殘心

改成0,1做false,true不就行了。

2018年1月17日 21:24
編輯回答
萌小萌
<script type="text/javascript">
    var str = "true"
    var result = str ==="true"
    document.write(result);
    if(result){
        alert("ok");
    }
</script>

str為"true"時(shí),result為true
str為"false"時(shí),result為false
希望能幫到你

2018年3月19日 11:32
編輯回答
選擇
let bool = {
    'true': true,
    'false': false
};
bool[ v ] !== undefined ? bool[ v ] : false;

但,還是推薦改成傳1、0,然后只要!!+v就可以獲得boolean了

2017年9月26日 19:15
編輯回答
鐧簞噯
var v = fields.v === 'true'
2018年7月1日 08:28