parseInt() 函數能解析一個字符串,並返回一個整數,需要兩個參數 (val, radix), 其中 radix 表示要解析的數字的基數。【該值介於 2 ~ 36 之間,並且字符串中的數字不能大於radix才能正確返回數字結果值】; 但此處 map 傳了 3 個 (element, index, array),我們重寫parseInt函數測試一下是否符合上面的規則。
function parseInt(str, radix, arry) { return str+'-'+radix+'-'+arry; }; var a=["1", "2", "3"]; a.map(parseInt); // ["1-0-1,2,3", "2-1-1,2,3", "3-2-1,2,3"]
因為二進制里面,沒有數字3,導致出現超范圍的radix賦值和不合法的進制解析,才會返回NaN 所以["1", "2", "3"].map(parseInt) 答案也就是:[1, NaN, NaN]