后面的程序出不了结果

来源:7-23 编程练习

ZL963359

2018-06-25 22:50

var scoreStr=new Array();

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

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

var str2=str1.split(":");

var sum=0;

for(var i=0;i<=(str2.length);i=i+2){

    str2[i+1]=parseInt(str2.substring(i+1,i+2));

    sum=str2[i+1]+sum;

}

document.write(sum);


写回答 关注

1回答

  • 挚秦
    2018-06-26 09:16:36
    已采纳

    你这个,逻辑很混乱啊==

    首先循环里i并不能=str2.length,否则就超出数组长度了,更何况i是以每两个为一组往上加的

    其次str2是个数组,是不能用substring来提取字符串的,因为这个方法只能在字符串里提取字符串。还有,你的str1已经是一个数组了,因为split是将字符串分割为数组的方法,你再用它来分割一个数组以得到另一个数组是不可能的。。

    我直接把我的答案贴一下,有疑惑可以再问我

     var scoreArr=scoreStr.split(";");
     var sum=0;
      for(var i = 0; i < scoreArr.length; i++){
          sum += parseInt(scoreArr[i].substring(3,5));
      }
      document.write(sum);


    ZKKL

    学习了 多谢

    2018-06-28 16:56:36

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题