有关parseInt()的题目

记录一个有关parseInt的题目:

["0x1", "0x2", "0x3"].map(parseInt) 的结果是 ( B )

A.全不是
B.[1, NaN, 0]
C.[1,NaN,NaN]
D.[1,2,3]

parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数, radix 是2-36之间的整数,表示被解析字符串的基数。

  • radix 小于 2 或大于 36, 或
  • 第一个非空格字符不能转换为数字时

返回值为 NaN

将题目 ["0x1", "0x2", "0x3"].map(parseInt) 分解一下,即为:[parseInt("0x1", 0), parseInt("0x2", 1), parseInt("0x3", 2)],这里用到的点是:

  • 如果 radix = 0/undefined,或者 radix 未指定,则 parseInt 根据字符串前缀来判断转换进制
  • 如果 radix < 2 且 radix != 0,或者 radix > 36,则 parseInt 返回 NaN

牛客网原题:https://www.nowcoder.com/questionTerminal/c0ff06ee7de2422e87998a235e3455fe
参考自MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

上一篇:parseInt转换字符串前置数字与非数字转换


下一篇:解决网页出现 net::ERR_ABORTED 404 (Not Found)问题