碎片时间学编程「369]:将字符串转换为布尔值

有时,人们可能会遇到将值的字符串表示形式转换为值本身的问题。这通常很简单,例如数值。然而,布尔值的字符串表示可能有点棘手。 出现此问题的原因是任何非空字符串在 JavaScript 中都被视为真实字符串。最重要的是,字符串可以有不同的大写或空格,这使得将它们直接与常量进行比较变得更加困难。 为了解决这个问题,通常最好使用一些转换,即 String.prototype.toLowerCase() 和 String.prototype.trim() ,以使值的字符串表示形式更加一致。此外,在某些情况下,可接受值的数组可能会使执行转换变得更容易。
const toBoolean = (value, truthyValues = ['true']) => { const normalizedValue = String(value).toLowerCase().trim(); return truthyValues.includes(normalizedValue);};toBoolean('true'); // truetoBoolean('TRUE'); // truetoBoolean('True'); // truetoBoolean('tRue '); // truetoBoolean('false'); // falsetoBoolean('FALSE'); // falsetoBoolean('False'); // falsetoBoolean('fAlse '); // falsetoBoolean('YES', ['yes']); // truetoBoolean('no', ['yes']); // false
更多内容请访问:https://www.icoderoad.com