2017-10-19 9 views
1

私はオブジェクトの配列を持ち、整数または文字列を含む可能性のあるidというプロパティがあります。私はそのプロパティを比較するために使用していますが、整数の場合でも常にidを変換したり、文字列かどうかを尋ねてから変換する方が効率的かどうかは推測しています。私はこれを意味する:javascript int値をintにパース

let myArray = [{id: 1, ...otherprops}, {id: 2, ...otherprops}, {id: '3', ...otherprops}, {id: '4', ...otherprops}]; 

はこの方が効率的...

for (let x of myArray) { 
    if (parseInt(x.id, 10) === 3) { 
     ... 
    } 
} 

またはこのコードです:最初のコード以来

for (let x of myArray) { 
    let id = -1; 
    if (typeof x.id === 'string') { 
     id = parseInt(x.id, 10); 
    } 
    if (id === 3) { ... } 
} 

常に2つの条件ならば、私は知らない変換します優れています。

+0

@Bian Goole - [tag:parsing]タグは文字列の数値型への変換ではありません。追加する前にタグの使用目的をお読みください。 –

+0

@DavidBowling私はあなたのコメントを感謝します。私は今あなたが提案したことを読んでいます。 – assembler

答えて

3

あなたが知っているのは、数字または文字列の数字だけであることがわかっている場合は、数字に変換する数字に変換するのにunary plus +を使うことができます。

var id = +x.id; 
+0

それはそれです、それは問題を解決する...私はそれを知りませんでした...ありがとう – assembler

関連する問題