sum=sum+parseInt(scorearr[i].substr(scorearr[i].indexOf(":")+1)这个公式求和是怎么个求和法
通过仔细查阅已经弄明白了
document.write(scorearr[1].substr(scorearr[1].indexOf(":")+1)) 输出结果就是要取的数值;
substr是获取字符串部分内容,index是获取想要找的字符的位置,“:”的位置+1就是数字所在的字符串位置。
substr 方法
返回一个从指定位置开始的指定长度的子字符串。
string.substr(start [, length ])
注意: length可选项。如 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串到 string 的最后。
所以这样就获得了数字的字符串,然后parseInt变成number型,ok了
indexOf(“:”);这个返回的值是“冒号”所处的位置,例如冒号在3位,返回值=2(位置从0开始计算)
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));
}