Javascript数组混乱

Javascript array mess

本文关键字:混乱 数组 Javascript      更新时间:2023-09-26

j作为来自请求的结果,我有一个由以下元素(javascript)组成的拆分字符串。字符串由相同属性序列的三个重复组成。

var str_before_split="name1_address_telephone,name2_address_telephone,name3_address_telephone";

在逗号上拆分单独的字符串会得到一个由3个不同字符串组成的数组。因此,为了完成拆分,我使用了:(其中limit=3,数字可以变化)

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

当我想为三个不同的类别创建三个不同数组时,出现了问题。因此,在最初的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循环中的数组,即使出现了正确的结果,提醒窗口也不会停止一次又一次地出现。有什么提示吗?

这是一个无限循环:

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];
}

如果中断条件基于j:,除了i是错误的变量之外

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

i+3不会更改i的值,因此for循环将永远运行(好吧,只有第一个循环会更改,因为其他两个循环甚至没有机会执行)。

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

也就是说,"将j设置为0。每次循环时,检查j是否小于les。然后计算i+3(一个不同的变量),忽略结果,并保留j。"你有一个无限循环,因为j从来都不是0,因此总是小于les

你需要这样的东西:

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