gpt4 book ai didi

javascript - 如何将 bool 值 true/false 或字符串 'true'/'false' 列入白名单

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:25 25 4
gpt4 key购买 nike

有没有办法将expressjs中的属性值列入白名单? IE 我想将属性值限制为 bool 值 true/false 或字符串“true”/“false”。

因为 JS 中的truthy 很糟糕,所以我不能这样做

  var foo = Boolean(req.param('foo'));

因为字符串“false”的计算结果为 true。

希望简化这一点,但也想知道expressjs或multer/busboy中是否内置了我所缺少的东西:

var fooParam = req.param('foo');
var foo;
if (fooParam === 'true' || fooParam === 'false') {
foo = fooParam === 'true;
} else if (fooParam === true || fooParam === false) {
foo = fooParam;
}

最佳答案

我建议从相反的方向解决它 - 对提供的值进行字符串化并检查结果字符串:

var fooParam = req.param('foo');
// map the string value of each boolean to the corresponding boolean value
var boolMap = new Map([['true', true], ['false', false]]);
// stringify the provided param (true\'true' => 'true', false\'false' => 'false')
// and get the corresponding value from the mapping.
// in case of value that is not true\'true'\false\'false' was provided, undefined will be assigned to foo.
var foo = boolMap.get(String(fooParam));

关于javascript - 如何将 bool 值 true/false 或字符串 'true'/'false' 列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56552407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com