为了账号安全,请及时绑定邮箱和手机立即绑定

sum = sum + parseInt(myss[i].slice(3)); 中总和是怎么算出来的

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var myss=scoreStr.split(";");
for (i=0;i<myss.length;i++){

}
var sun=0;
for (i=0;i<myss.length;i++){
   sun=sun + parseInt(myss[i].slice(3));
}document.write("该班成绩总和为"+sun+"该班平均分为"+parseInt(sun/myss.length));

正在回答

2 回答

slice(3)就相当于把数字提取出来嘛(就是取字符串第4个字符开始到最后一个字符,就是“小明:87”里面的第4、5个字符,就是数字87了),然后sum=sum+parsenInt...就相当于累加嘛。

ps:这里面的字符是从0开是排的,所以slice(3)就是第4个字符开始。

0 回复 有任何疑惑可以回复我~
#1

慕数据1201694 提问者

非常感谢!
2016-11-29 回复 有任何疑惑可以回复我~
#2

qq_狂奔的蜗牛_21

那如果名字是三个字符或者四个字符怎么办?
2016-12-02 回复 有任何疑惑可以回复我~
#3

Bigman3685968 回复 qq_狂奔的蜗牛_21

87",那么数字就是从第五个字符开始到最后一个,就是slice(4)【这个里面的4是表示是下标】。
2016-12-03 回复 有任何疑惑可以回复我~

myss[i]得到string“小明:87”;slice(3)从小标3开始截取"小明:87",所以myss[i].slice(3)="87",为string类型;

需转换成数字,parseInt("87")=87;

最后运用加法运算出总和;

0 回复 有任何疑惑可以回复我~
#1

慕数据1201694 提问者

他是把每个数字都给截取出来了在进行计算的吗? 要不然一个87怎么算出来总和呢?
2016-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sum = sum + parseInt(myss[i].slice(3)); 中总和是怎么算出来的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信