2

重複の可能性:
JavaScript 文字列連結
javascript には stringbuilder クラスが組み込まれていますか?

str = str + "123"これを行うと、新しい文字列が作成されることが知られています。多数の連結がある場合、かなり高価になる可能性があります。JavaScript で StringBuilder を実装する簡単な方法はありますか?

4

3 に答える 3

9

パーツを配列にプッシュしてから結合できます。

var builder = []
builder.push( "some", "123" );
builder.push( "content" );
var str = builder.join("");

This SO questionはそれを詳細に説明しています。このクラスも参照してください

于 2013-01-10T14:10:07.337 に答える
1

文字列が静的な場合は、JavaScript の従来の連結が最適です。

var foo = 'a' + 'b' + 'c' + 'd';

これは、ほとんどのブラウザに当てはまります。文字列連結

文字列がプログラムに従って可変である場合、どちらの方法も同様に効率的です。

var foo = ""+Math.random() + Math.random() + Math.random() + Math.random();
var foo = [Math.random(), Math.random(), Math.random(), Math.random()].join('');

ブラウザ間の違いはそれほど大きくありませんが、従来の方法の方が少し優れているようですstring-random-concatenation

于 2013-01-10T14:45:56.077 に答える
1

通常の文字列連結よりも高速な StringBuilder を実装することは決して簡単ではないと思います。そして、それが明らかにビルダーの理由です。

配列に入力し、完全な場合は文字列に変換します。

于 2013-01-10T14:08:49.180 に答える