對(duì)排名第一的“同學(xué)代碼”的疑問
for(var?i=0;i<array.length-1;i++){ ??????sum+=parseInt(array[i].substr(array[i].indexOf(':')+1)); ??}
排名第一的答案用上面這個(gè)方法得到了每個(gè)數(shù)組中的成績(jī),每個(gè)數(shù)組是[小米:87]。他用indexOf("-1")+1得到的難道不是只有一個(gè)8嗎?他是怎么得到87的?
for(var?i=0;i<array.length-1;i++){ ??????sum+=parseInt(array[i].substr(array[i].indexOf(':')+1)); ??}
排名第一的答案用上面這個(gè)方法得到了每個(gè)數(shù)組中的成績(jī),每個(gè)數(shù)組是[小米:87]。他用indexOf("-1")+1得到的難道不是只有一個(gè)8嗎?他是怎么得到87的?
2016-05-10
舉報(bào)
2016-05-11
indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
substr() 方法從字符串中提取從 startPos位置開始的指定數(shù)目的字符串。
這里的array[i].indexOf(":")+1最后得到的值是作為substr第一個(gè)參數(shù),由于沒有設(shè)置substr的第二個(gè)參數(shù),那么提取的字符是從前面第一個(gè)參數(shù)指定的位置到字符array[i]最后結(jié)尾的字符的位置,即87,而不只是8。
看不懂的話回去自己再細(xì)看一下substr的用法和源代碼