parseInt(string, radix)javascript
string: 必需。解析的字符串。java
radix: 可選。數組
其值介於 2 ~ 36 之間。若不在此範圍,則 parseInt() 將將返回 NaN。ui
若省略或其值爲 0,則數字將以 10 爲基礎來解析。spa
若以 '0x' 或 '0X' 開頭,將以 16 爲基數。code
console.log(parseInt('18')); // 18 (10 + 8)
console.log(parseInt('18', '0X22')); // 42 (0X22 === 32+2 === 34) (34 + 8)
console.log(parseInt('18', 1)); // NaN
console.log(parseInt(100, 2)); // 4 (1 * 2 的平方)
複製代碼
['1', '2', '3'].map(parseInt)
ip
對於每一個迭代map, parseInt()傳遞兩個參數: 字符串和基數。字符串
因此實際執行的代碼是:string
['1', '2', '3'].map((item, index) => {
return parseInt(item, index)
})
// 結果:
console.log(parseInt('1', 0)); // 1
console.log(parseInt('2', 1)); // NaN (基數介於 2 - 36 之間)
console.log(parseInt('3', 2)); // NaN ('3' 不是二進制)
因爲 map 返回一個數組,因此爲 [1, NaN, NaN];
複製代碼