当前位置: 首页 > 知识库问答 >
问题:

如何在typescript Angular 4中将字符串转换为布尔值

郎言
2023-03-14

我知道我不是第一个问这个问题的人,正如我在标题中提到的,我正在尝试转换字符串值布尔值。

我之前已经将一些值放入本地存储,现在我想获取所有值并将所有值赋给一些布尔变量

应用程序。组成部分ts

localStorage.setItem('CheckOutPageReload', this.btnLoginNumOne + ',' + this.btnLoginEdit);

这里是这个。btnLoginNumOne和这个。btnLoginEdit是字符串值(“true,false”)。

镜子组成部分ts

if (localStorage.getItem('CheckOutPageReload')) {
      let stringToSplit = localStorage.getItem('CheckOutPageReload');
      this.pageLoadParams = stringToSplit.split(',');

      this.btnLoginNumOne = this.pageLoadParams[0]; //here I got the error as boolean value is not assignable to string
      this.btnLoginEdit = this.pageLoadParams[1]; //here I got the error as boolean value is not assignable to string
}

在这个组件中this.btnLoginNumOne和this.btnLoginEdit是布尔值;

我在stackoverflow中尝试了这些解决方案,但没有任何效果。

有人能帮我解决这个问题吗?

共有3个答案

呼延鹏云
2023-03-14

在您的场景中,可以通过类似于someString==“true”的方式将字符串转换为布尔值(正如已经回答的那样)。

然而,让我来谈谈您的主要问题:处理本地存储。

本地存储只支持字符串作为值;因此,使用它的一个好方法是在将数据存储在存储中之前始终将数据序列化为字符串,并在获取数据时反转该过程。

在JSON中序列化数据的一种可能不错的格式是JSON,因为它在JavaScript中非常容易处理。

因此,以下函数可用于与本地存储交互,前提是您的数据可以序列化为JSON。

function setItemInStorage(key, item) {
  localStorage.setItem(key, JSON.stringify(item));
}

function getItemFromStorage(key) {
  return JSON.parse(localStorage.getItem(key));
}

然后,您的示例可以改写为:

setItemInStorage('CheckOutPageReload', [this.btnLoginNumOne, this.btnLoginEdit]);

以及:

const pageLoadParams = getItemFromStorage('CheckOutPageReload');
if (pageLoadParams) {
  this.btnLoginNumOne = pageLoadParams[0];
  this.btnLoginEdit = pageLoadParams[1];
}
柳镜
2023-03-14

我一直在用JSON尝试不同的值。解析(值),它似乎可以完成以下工作:

// true
Boolean(JSON.parse("true"));
Boolean(JSON.parse("1"));
Boolean(JSON.parse(1));
Boolean(JSON.parse(true));

// false
Boolean(JSON.parse("0")); 
Boolean(JSON.parse(0));
Boolean(JSON.parse("false"));
Boolean(JSON.parse(false));
彭星津
2023-03-14

方法一:

var stringValue = "true";
var boolValue = (/true/i).test(stringValue) //returns true

方法二:

var stringValue = "true";
var boolValue = (stringValue =="true");   //returns true

方法三:

var stringValue = "true";
var boolValue = JSON.parse(stringValue);   //returns true

方法四:

var stringValue = "true";
var boolValue = stringValue.toLowerCase() == 'true'; //returns true

方法5:

var stringValue = "true";
var boolValue = getBoolean(stringValue); //returns true
function getBoolean(value){
   switch(value){
        case true:
        case "true":
        case 1:
        case "1":
        case "on":
        case "yes":
            return true;
        default: 
            return false;
    }
}

来源:http://codippa.com/how-to-convert-string-to-boolean-javascript/

 类似资料:
  • 问题内容: 我有一个布尔变量,我想将其转换为字符串: 我需要转换后的值的格式为:,而不是 我试过了: 但是它告诉我,并且不是公认的功能。 如何将此布尔值转换为PHP 或PHP 格式的字符串? 问题答案: 最简单的解决方案:

  • 问题内容: 我可以将表示布尔值(例如,“ true”,“ false”)的字符串转换为JavaScript中的固有类型吗? 我有一个隐藏的HTML表单,可根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用内部布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它将成为一个字符串。 确定字段的布尔值(将其转换为字符串后)的唯一方法是依赖于其字符串表示形式的文字值。 有没有更好的

  • 问题内容: 我想转换一个叫到(或使用),但它不能做的工作。Go中惯用的方式是什么? 问题答案: 使用strconv包 docs func FormatBool(b bool)字符串Formatbool 根据b的值返回“ true”或“ false”

  • 问题内容: 如何将字符串转换为? 它返回 布尔值true 但这应该是。 问题答案: 除非字符串的值被PHP视为“空”(从的文档中获取),否则字符串始终为布尔值true : (一个空字符串); (0作为字符串) 如果您需要根据字符串的文本值设置布尔值,则需要检查该值是否存在。 编辑:上面的代码旨在使理解更加清晰。在实际使用中,以下代码可能更合适: 或者使用该功能可能会覆盖更多的布尔值: 覆盖整个范围

  • 我有一个值,它将是四件事之一:布尔true、布尔false、字符串“true”或字符串“false”。如果字符串是字符串,我想将字符串转换为布尔值,否则不修改它。换句话说: “true”应该变为true “false”应变为false 真实应该保持真实 false应保持为false

  • 本文向大家介绍将Java字符串对象转换为布尔对象,包括了将Java字符串对象转换为布尔对象的使用技巧和注意事项,需要的朋友参考一下 可以使用字符串文字在Java中创建字符串对象。 创建字符串对象的另一种方法是使用new关键字。 我们使用第一种方法来创建字符串对象。 现在,使用该方法将字符串对象转换为布尔对象。我们已经在布尔对象上使用了此方法。 现在让我们看完整的示例,以显示如何将String Ob