2013-07-09 9 views
8

文字列がそれ自体に等しくない理由はありますか?私は大量の文字列を処理していますが、文字列の中には最終的には等しくないものもあります。JS文字列がそれ自身と等しくない理由はありますか? (写真を参照)

ここで私が話していることを示すイメージです。

Example Image

任意のアイデア?

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

+0

http://stackoverflow.com/questions/8914902/how-do-two-identical-strings-not-equal-each-other – Chris

+0

'RGD.symbol'は突然' rgdMap ['snail '] .symbol'?あなたは正しい値を比較していますか? – adeneo

+0

@adeneo 'RGD.symbol'はどこにありますか?前のコンソール行は明らかに 'rdgMap ['snai1']' –

答えて

10

いずれかの言語では、1つの文字列に一部の文字が含まれていて、他の文字列が人間によって等しくても違いはありません。

は、それらの長さを印刷し、それらがCHAR-に-CHAR

+0

その1つの最後に空の文字列が付いていることが判明しました。ありがとう! –

-1

それはあなたが文字列に文字列値の種類を比較している可能性があります印刷してみます。 (string.valueOfを使用)または二重等しいの代わりに、トリプル、Javascriptを文字列値にStringオブジェクトを強制しましょう使用するか:

Difference between the javascript String Type and String Object?

ソリューションを参照してください。

私のコンソールから =新しい文字列( "asdf"); b = "asdf"; a === b; // false a == b; // true a.valueOf()=== b.valueOf(); // true

+1

==もfalseを返します。 – RiaD

+0

これはStringオブジェクトではなく、イメージでわかります。 Stringオブジェクトは次のようになります:http://y.imgur.com/Dcmo2fY.png –

+0

'' foo "==新しい文字列(" foo ")// true' – numbers1311407

関連する問題