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

sum=sum+parseInt(scorearr[i].substr(scorearr[i].indexOf(":")+1)这个公式求和是怎么个求和法?求大神详细作答一下

sum=sum+parseInt(scorearr[i].substr(scorearr[i].indexOf(":")+1)这个公式求和是怎么个求和法

通过仔细查阅已经弄明白了

document.write(scorearr[1].substr(scorearr[1].indexOf(":")+1)) 输出结果就是要取的数值;

提问者:yz_monkey 2016-01-08 05:45

个回答

  • 王行天下
    2016-01-08 10:11:57
    已采纳

    substr是获取字符串部分内容,index是获取想要找的字符的位置,“:”的位置+1就是数字所在的字符串位置。

    substr 方法

    返回一个从指定位置开始的指定长度的子字符串。
    string.substr(start [, length ])

    注意: length可选项。如 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串到 string 的最后。

    所以这样就获得了数字的字符串,然后parseInt变成number型,ok了

  • 宇xixi
    2016-01-21 10:48:43

    indexOf(“:”);这个返回的值是“冒号”所处的位置,例如冒号在3位,返回值=2(位置从0开始计算)


  • 李晓健
    2016-01-08 09:57:05

    var sorceStr = "小明:87;小花:81;小红:97;小天:76";
    var sourceArr = sorceStr.split(";");
    // sourceArr=['小明:87','小花:81','小红:97','小天:76']
    
    //从数组中将成绩撮出来,然后求和取整,并输出。
    var sum = 0;
    for (var i = 0; i < sourceArr.length; i ++) {
        //sourceArr[i].substr(sourceArr[i].indexOf(":")+1) 这里是为了取出分数
        //当i=0时 sourceArr[0] = '小明:87'; sourceArr[0].substr(sourceArr[0].indexOf(":")+1)='87';
        //当i=1时 sourceArr[1] = '小花:81'; sourceArr[1].substr(sourceArr[1].indexOf(":")+1)='81';
        // .....
        sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));
    }