Skip to main content

parseInt

;[1, 2, 3].map(parseInt)

//答案
1
NaN
NaN

解析:

parseInt(string, radix):解析一个字符串并返回指定基数的十进制整数。 string:必需。要被解析的字符串。 radix:可选。表示要解析的数字的基数。该值介于2 ~ 36 之间。

提示 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

;[1, 2, 3]
.map(parseInt)

[
//上述代码相等于

(1, 2, 3)
].map((item, index) => {
return parseInt(item, index) //默认把map遍历的index当作radix取值
})

parseInt('1', 0) //radix:0 输出初始值
parseInt('2', 1) //radix:1 把2转换1进制,不存在所以输出NAN
parseInt('3', 2) //radix:2 把3转换2进制,不存在所以输出NAN

[1,2,3].map(parseInt)

[1,2,3].map(parseInt)
// 展开
parseInt(1, 0, arr) => parseInt(1) => 1
parseInt(2, 1, arr) => NaN
parseInt(3, 2, arr) => NaN

正确写法

[1,2,3].map((number)=> parseInt(number) )