8

文字列がそれ自体と等しくない理由はありますか? 私は大量の文字列を処理していますが、一部の文字列は最終的には一致しません。

これが私が話していることを示す画像です。

サンプル画像

何か案は?

解決済み:いずれかの文字列の末尾にキャリッジ リターン (\r) が付加されている。String.length を使用して各文字列の長さを確認しましたが、それらは異なっていました (5 と 6)。次に、String.charAt を使用して文字列を調べました。Chrome では、これは空の文字列 ("") を示していました。ただし、空の文字列は偽の値ではありませんでした。これを FireFox で試したところ、キャリッジ リターンが表示されました。

4

3 に答える 3

-1

文字列値の型を文字列と比較している可能性があります。

javascript 文字列型と文字列オブジェクトの違いを参照してください。

解決策: string.valueOf() を使用するか、トリプルの代わりにダブル イコールを使用して、javascript に String オブジェクトを文字列値に変換させます。

私のコンソールから a = new String("asdf"); b = "asdf"; === b; // false a == b; // true a.valueOf() === b.valueOf(); // 真実

于 2013-07-09T17:23:56.070 に答える