sum = sum + parseInt(scoreArr[i].slice(3,5));请问什么意思?

来源:7-23 编程练习

小仙女来拉

2018-08-15 16:03

 sum = sum + parseInt(scoreArr[i].slice(3,5));请问什么意思?

写回答 关注

3回答

  • imooc客服
    2018-08-31 17:11:29

    题主的问题中slice(3,5)这种写法是有其局限性的,它的意思是取第3和第4位的数(不包括第5位),这就写死了,不能灵活变化。

    为什么这样说呢,我们来看个其它例子如果其中一名学生的情况是【唐小朵:100】,你对这种情况还是写slice(3,5)那么得到的就是第3位和第4位,你看看它就是指冒号和数字1,而不是真正的分数100。最完美的写法应该是采用substr来获取从冒号开始的所有内容,也就是最全面的分数,可以灵活变化。

    所以为了得到单个学生的数字分数,可以这样来写scoreArr[i].substr(scroeArr[i].indexOf(':')+1)。

    我们再来慢慢解释下刚刚的一种更好的写法:

    (1)indexOf(':')是指冒号第一次出现时的位置,也就是它对应的索引号,把scroreArr[i].indexOf(':')加上一个1,是为了从冒号的后一位开始找分数。

    (2)substr就是从字符串中提取从某个位置开始的数。也就是从上一步中得到的数字开始获取至最后一位数。不管考试分数是1位数,2位数,还是3位数,都可以全面的获取到。

    对于题主的问题,sum=sum+某个数,这个不懂,其实就是对”采用for循环对数组中的数字进行累计相加“这个知识点以及”i=i+某个数“这个知识不懂。这2个知识点解释起来就又有点长了。有空可以联系我,再慢慢解释回答。

  • qq_木叶_19
    2018-08-15 16:52:48

    取数组scoreArr[i]中元素第3到5位(即成绩)出来,用parseInt转换成int类型,再累加

  • 低调Yonger
    2018-08-15 16:49:11

    取数组scoreArr[i]中元素第3,4位(即成绩)出来,用parseInt转换成int类型,再累加

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题