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