无法将字符串转换为布尔值

发布于 2025-01-13 00:54:06 字数 1464 浏览 2 评论 0原文

我正在尝试使用 ini< 解析 ini 文件/a>.但是,我无法设法将我的 string 值转换为 boolean,我想我快疯了!

我尝试了下面列出的明显的 variable = (value == 'true'); 方法:

    let myBool;
    for (const [key, value] of iniObject) {
        console.log(`pair: ${key} - ${value}`);
        if(key == 'testBool') {
            myBool = (value == 'true');
            console.log(`myBool set to ${myBool} (${typeof myBool}) - value: ${value}`);
        }
    }

myBool 设置为 true 时,它​​被设置为 false! console.log() 输出如下,表明输入 value 确实为“true”:

    [1] pair: testBool - true
    [1] myBool set to false (boolean) - value: true

我也尝试了以下操作,但没有成功

    myBool = (JSON.parse(value) == 'true');
or
    myBool = (value == 'true') ? true : false;

initestBool=true,所以没什么特别的。 我缺少什么?我觉得自己在过去的 3 个小时里像个白痴一样,所以我真的非常感谢对此的一些帮助。

谢谢您的宝贵时间!

I'm trying to parse an ini file using ini. However, I can't manage to convert my string value to a boolean and I think I'm going crazy!

I have tried the obvious variable = (value == 'true'); approach listed below:

    let myBool;
    for (const [key, value] of iniObject) {
        console.log(`pair: ${key} - ${value}`);
        if(key == 'testBool') {
            myBool = (value == 'true');
            console.log(`myBool set to ${myBool} (${typeof myBool}) - value: ${value}`);
        }
    }

Instead of setting myBool to true, it is set to false! The console.log() output is the following, showing that the input value is indeed "true":

    [1] pair: testBool - true
    [1] myBool set to false (boolean) - value: true

I have also tried the following without success:

    myBool = (JSON.parse(value) == 'true');
or
    myBool = (value == 'true') ? true : false;

The corresponding line in the ini is testBool=true, so nothing special.
What am I missing? I feel like an idiot for having spent the last 3 hours on this, so I would really appreciate some help on this.

Thank you for your time!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水中月 2025-01-20 00:54:06

我不知道 ini 是如何工作的,但是你检查过 value 的类型是什么吗?

也许它已经将其解析为布尔值,这就是为什么你在比较时得到 false 的原因?

"true" == true // false

I don't know how the ini works, but did you check what is the type of value?

Maybe it has already parsed it as a boolean and that is why you get false when comparing?

"true" == true // false
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文