私は大きな文字列を処理するWebアプリを開発しているので、単一の文字を取得する方法が速いかどうかを知りたいのですが、これは次のとおりです。
var myStr = 'foo';
return myStr[i];
またはこれ:
var myStr = 'foo';
return myStr.charAt(i);
私は大きな文字列を処理するWebアプリを開発しているので、単一の文字を取得する方法が速いかどうかを知りたいのですが、これは次のとおりです。
var myStr = 'foo';
return myStr[i];
またはこれ:
var myStr = 'foo';
return myStr.charAt(i);
角かっこ表記()を使用して文字列内の文字にインデックスでアクセスすることはmyStr[i]
、IEで機能しないだけでなく、ES3標準(すべてのブラウザーが正しく実装する標準)では指定されていません。
ただし、ES5仕様(現在の標準)には、インデックス付き文字(最新のブラウザーでサポートされている)が含まれています。
プロパティという名前の配列インデックスは、文字列値の個々の文字に対応しています。
したがって、下位互換性のあるクロスブラウザコードを作成するには、を介して個々の文字にアクセスする必要がありますcharAt
。
どちらが速いかはわかりませんが、string.charAt(x)またはstring [x]を確認することをお勧めしますか? myStr.charAt(i)がmyStr [i]を使用するよりも優れている理由についての議論を見る(答えはブラウザーの互換性です)