首页 > 试题广场 >

["0x1","0x2","0x3"].map(parseI

[单选题]
 ["0x1", "0x2", "0x3"].map(parseInt) 的结果是
  • 全不是
  • [1, NaN, 0]
  • [1,NaN,NaN]
  • [1,2,3]
Array#map 会给 callback 传入三个参数:(item, index, callerArray)。
parseInt 接收两个参数:(str, radix)。str 为需要转换的字符串,radix 为进制转换的基数。
这道题主要是考察 Array#map、 parseInt 以及传递函数引用时的参数分配规则,Array#map 相对来说比较简单,主要是 parseInt 的转换规则,可参考 MDN 的解释:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

将题目 ["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
发表于 2021-07-03 07:43:58 回复(4)
parse(021,8)   ===>15
发表于 2021-07-07 14:37:41 回复(0)