-2

jリクエストの結果として、次の要素 (javascript) で構成される分割された文字列があります。文字列は、同じ属性シーケンスの 3 回の繰り返しで構成されます。

var str_before_split="name1_address_telephone,name2_address_telephone,name3_address_telephone";

コンマで個別の文字列を分割すると、3 つの異なる文字列で構成される配列が得られます。したがって、分割を完了するために、次を使用しました。

for(var i=0; i<limit; i++) {  var everyString=separator[i].split("_"); //I checked each array position and is storing like charm.}

この問題は、3 つの異なるカテゴリに対して 3 つの異なる配列を作成しようとしたときに発生しました。したがって、最初の for ループ内には次のものがあります:( ループを再度投稿します)

var les=limit*3; //to see the maximum possible elements of the array

for(var i=0; i<limit; i++) {  var everyString=separator[i].split("_"); 


for(var j=0; j<les; j+3)
           {
         name[i]=everyString[j];
}

   for( j=3; i<les; j+3)
           {
         address[i]=everyString[j];
}

  for( j=6; i<les; j+3)
           {
         tel[i]=everyString[j];
}


}

ただし、ページで実行するたびに、スクリプトはフリーズします。私のJSエラー検出プラグインに間違いはありません。小さな for ループ内の配列にアラートを出そうとしましたが、正しい結果が表示されても、アラート ウィンドウが何度も何度も表示されることはありません。ヒントはありますか?

4

3 に答える 3

5

それは無限ループです:

for(var j=0; j<les; i+3)

ここでは、ループ変数はインクリメントされません。i+3は何もしません。ちなみに、変数は ではなく j にする必要がありますi

次の行を使用します。

for(var j=0; j<les; j++)

しかし、すべてを再考する必要があると思います。私が間違っていなければ、すべての名前、すべての住所、すべての電話番号の配列が必要なだけです。

var separator = str_before_split.split(",");
for(var i=0; i < separator.length; i++) {
    var everyString=separator[i].split("_"); 
    name[i]=everyString[0];
    address[i]=everyString[1];
    tel[i]=everyString[2];
}
于 2013-06-21T13:09:10.440 に答える