如何在 JavaScript 问题中检查字符串是否为真

how to check if string is true in JavaScript issue

我正在尝试将字符串转换为 javascript 中的布尔值,但我不知道该怎么做,互联网上的解决方案似乎也不起作用

我有一个名为数据的变量

console.log(data)
console.log(data === "true")
console.log(typeof data)
console.log(typeof "true")

这是我的输出代码

true
false
string
string

这是输出 我也试过 == 但它也不起作用

更新: 我将字符串转换为字节数组

(12) [0, 116, 0, 114, 0, 117, 0, 101, 0, 13, 0, 10]
(8) [0, 116, 0, 114, 0, 117, 0, 101]

这是两个字节数组。上面一个是我的变量,下面一个是新创建的字符串“true”的数组。谁能说出这种差异从何而来?

var val = 'true';
console.log(val.trim().toLowerCase()==='true');

除非我遗漏了更明显的东西?

根据您更新后的答案,data === "true" 将按预期检查您的字符串是否等于 "true"

你得到 false 作为输出的原因是 data 的值并不严格等于 "true" 而是 "true\r\n"

如果您需要检查字符串是否包含 "true",您可以使用正则表达式或简单索引。

console.log(data.indexOf("true") !== -1)