私は次のコードを使用しています:
if (store.getItem('TopicID') != "00")
TopidIDは常に4桁であり、これを変更して、最後の2桁が「00」であるかどうかを確認する必要があります。
上記の一部として「.substring(from、to)」を追加するだけでこれを行うことはできますか、それともこれを変数に入れてから変数をチェックする必要がありますか?
私は次のコードを使用しています:
if (store.getItem('TopicID') != "00")
TopidIDは常に4桁であり、これを変更して、最後の2桁が「00」であるかどうかを確認する必要があります。
上記の一部として「.substring(from、to)」を追加するだけでこれを行うことはできますか、それともこれを変数に入れてから変数をチェックする必要がありますか?
if (!/00$/.test(store.getItem('TopicID'))
「00」を形成していない最後の2桁をチェックするために使用します。そうすれば、の値の長さは重要ではなく、値の最後の2文字を常にチェックし、 「連鎖」store.getItem('TopicID')
は必要ありません。substring
ちなみに、ここにstore.getItem('TopicID')
戻ると思いString
ます。
完全に、Paul Phillipsのコメントに応えて:inは!/00$/.test([somestring])
、検索パターンを説明するための特別なテキスト文字列で/00$/
ある正規表現です。この場合、次のことを意味します。の結果の文字列について、store.getItem('TopicID')
2つの連続するゼロが見つかるかどうかを確認します。ここで、$
-signは、「文字列の最後にあるそのパターンを確認する」ことを意味します。
「連鎖」の主題についてさらに完全にするために:メソッドが連鎖するオブジェクトに含まれている限り、すべてを連鎖させることができます。その完全に無意味な例:
Number(/00$/.test('0231')) //convert a boolean to a Number
.toFixed(2) //a Number has the toFixed method
.split('.')[1] //toFixed returns a String, which has method split
.substr(1) //the second element is a string, so substr applies
.concat(' world') //still a string, so concat will do
.split(' ') //string, so split works
.join(' hello ') //from split an array emerged, so join applies
;
//=> result of this chain: '0 hello world'
var yourString = (store.getItem('TopicID'))
if(yourString.substring((yourString.length - 2), 2) == "00")
上記のコードは、文字列の長さを気にしません。最後の 2 桁を取得し、「00」と比較します
それを連鎖させるとうまくいくでしょう。ローカル変数の抽出も同様です。いいえ、必要ありません。コードが読みやすくなると思われる場合は、それを実行してください。
あなたも使うことができslice
ます
if (store.getItem('TopicID').slice(2,4) != "00") {
// Do Your Stuff
}
4桁の場合、使用できます
if (store.getItem('TopicID') % 100)
「.substring(from, to)」を追加するだけで、上記の一部としてこれを行うことができますか
はい、できます。ただし、構文が間違っています。
if (store.getItem('TopicID').substring( 2 ) != "00")