问答详情
源自:7-23 编程练习

大神帮我Debug一下~

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

  var scoreSpl = scoreStr.split(";");

  document.write(scoreSpl+"<br/>");

  for(i=0;i<10;i++){

 var scoreArr = new Array;

 scoreArr[i] = scoreSpl[i].substring(3,5);

  }

  document.write(scoreArr);

显示的全是逗号,只有最后一个数组显示出来了。。。前面的数组全部显示不出来。。。

提问者:寂寞的波菜 2016-02-26 11:32

个回答

  • 星堡a
    2016-02-26 11:48:00
    已采纳

    var scoreArr = new Array;  放在循环体的外面。原因:放在循环体内部每次重新定义了

    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
      var scoreSpl = scoreStr.split(";");
      var scoreArr = new Array;
      document.write(scoreSpl+"<br/>");
      for(i=0;i<10;i++){
     	scoreArr[i] = scoreSpl[i].substring(3,5);
      }
      document.write(scoreArr);

    10可以用 scoreSpl.length代替

    scoreSpl[i].substring(3,5) 可以用 scoreSpl[i].split(":")[1]代替

  • 寂寞的波菜
    2016-02-26 11:40:49

    好了我知道了,定义数组不能放在循环里面,否则每次循环都会重新定义一次数组。。。。