为了账号安全,请及时绑定邮箱和手机立即绑定

还请各位慕友支招!为什么这段for循环执行不了?

首先必须承认我一开始没有想到提取提取元素的方法,所以导致走了弯路,但我觉得弯路也应该走得通才是。。

这道练习我最开始的思路是利用两次字符串分割和二维数组的定义,然后通过二维数组的下标实现对于“成绩”这个要素的提取(忘了有提取命令实在是惭愧- -),但是实际过程中发现定义二维数组的for循环语句出现了问题(测试得出),导致整段代码无法实现,但实在看不出来问题出在哪里,虽然已经知道了更简便的解题办法,但这个问题不解决始终觉得不舒服,所以在这里请各位慕友指教!帮忙看看是哪里错了,还是我的理解就有问题?多谢!

正在回答

2 回答

for(i=0,i<score1.length;i++) 你的这个  i=0后面的是逗号 不是;   

0 回复 有任何疑惑可以回复我~
#1

仁太

你的数组赋值也不对 不能这么用 而且Array后面()也没有 ;也没有 截取出来的复制要用for循环赋值 var score1=new Array score1=str1;
2016-04-28 回复 有任何疑惑可以回复我~

score2[i][j]=score1[i].split(":");  //bug

以上语句是有问题的,右边的结果是一个Array,左边又是而且数组的一个元素。你应该在第二层循环之前进行字符串的切割,然后再通过j下标赋值。在循环中切割字符串要考虑字符串有没有改变。

试试这样行不行:

for(i=0,i<score1.length;i++){

     newstr=score1[i].split(":");

     var score2[i]=new Array();

      for(j=0;j<2;j++){

                    score2[i][j]=newstr[j];

      }

  }  


0 回复 有任何疑惑可以回复我~
#1

了不起的鸭嘴兽 提问者

好像不行,而且我觉得 score1[i].split(":") 返回的值应该是个字符串吧,这样的话: score2[i][j]=score1[i].split(":"); 把字符串赋值给二维数组的其中一个元素应该没有问题啊,当然这只是我自己的想法,如果有错的话望您指正!
2016-04-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

还请各位慕友支招!为什么这段for循环执行不了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信