0

672 要素のローカル Web ページで変更された配列をサーバーに投稿しようとしています。このために、次のようなJavascriptで、カンマで区切られた文字列に入れました。

    alert("begin");
    var sBsbData=""
    for (var x=0;x<24*4*7;x++)
        sBsbData = sBsbData + BsbData[x] + ',';

    alert(sBsbData);

BsbData は int の配列です。値は 10 を超えません。

これは、どのプロセッサでも瞬く間に処理されるコードです... それでも、2 つのアラートの間には約 10 秒かかります! ここで何が間違っていますか?? この目的のために特に悪い concat メソッドを選択しましたか?

4

1 に答える 1

3

遅くはありません -alert作成に時間がかかるのは (何らかの奇妙な理由で) です。

コンセプトの証明:

var BsbData = [];
for (var i = 0; i < 24 * 4 * 7; i++) {
    BsbData[i] = Math.round(Math.random() * 10);
}

console.log("begin");
alert("begin");

var sBsbData=""
for (var x=0;x<24*4*7;x++)
    sBsbData = sBsbData + BsbData[x] + ',';

console.log(sBsbData);
// !!! This is where the code will halt for a bit (the string has already been created) !!!
alert(sBsbData);

つまり、使用する必要がありますvar sBsbData = BsbData.join(',');

于 2013-09-06T10:08:18.930 に答える