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

为什么运行出来那么多逗号啊啊啊啊~~~~

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

  var num = scoreStr.split(';');

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

     num2 = new Array();

     num2[i] =parseInt(num[i].slice(3,5),10);

     document.write(num2);

     };

运行结果:87,81,,97,,,76,,,,74,,,,,94,,,,,,90,,,,,,,76,,,,,,,,64,,,,,,,,,76

提问者:肆意妄为 2016-03-15 16:54

个回答

  • 一梦千古_
    2016-03-15 17:57:20
    已采纳

    因为你每次循环都打印了一次....


  • AgileLeo
    2016-03-15 17:50:44

    我去。你是把数字都分开截取出来了。。。

    比如你想截取 第一个 小明的分数 87,其实通过 split(';')分隔出来的第一个数组是这样字的:["小明:87"];。。。

    而不是 ["小","明",":","8","7"];所以你使用slice(3,5)截取出来的都是空的元素,所以会出现你的逗号宝宝。

    解决方法:

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

      var num = scoreStr.split(';');

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

         var num2 = num[i].split(':');

         document.write(num2[1]);

         };

    希望能帮到你

    其实我刚学完