1. ホーム
  2. angular

[解決済み] Typescriptで文字列をbooleanに変換する方法 Angular 4

2022-12-04 18:09:03

質問

私はこれを尋ねる最初のものではないことを知っていると私は私のタイトルで述べたように、私は文字列の値をブール変換しようとしています。

私は以前にローカルストレージにいくつかの値を入れている、今私はすべての値を取得し、いくつかのブール変数にすべてを割り当てたい。

app.component.ts

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

ここで this.btnLoginNumOne そして this.btnLoginEdit は文字列値 ("true,false")です。 .

mirror.component.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.btnLoginNumOnthis.btnLoginEdi t は ブーリアン の値です。

私はstackoverflowで解決策を試してみましたが、何も動作しません。

誰かこれを修正するために私を助けることができます。

どのように解決するには?

方法1:

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

方法2.

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

方法3.

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

方法4:

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/