sum = sum + parseInt(scoreArr[i].slice(3,5));请问什么意思?
题主的问题中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个知识点解释起来就又有点长了。有空可以联系我,再慢慢解释回答。
取数组scoreArr[i]中元素第3到5位(即成绩)出来,用parseInt转换成int类型,再累加
取数组scoreArr[i]中元素第3,4位(即成绩)出来,用parseInt转换成int类型,再累加