为了账号安全,请及时绑定邮箱和手机立即绑定

Js Number.parseInt 函数中的一些奇怪行为,有人可以解释一下吗?

Js Number.parseInt 函数中的一些奇怪行为,有人可以解释一下吗?

慕的地10843 2023-04-14 16:39:39
我在 javascript parse int 函数中发现了一些奇怪的行为。检查以下代码:console.log([..."111"].map(Number.parseInt))  console.log([..."111"].map(x => Number.parseInt(x)))当你运行第一行时,你会得到:[1, Nan, 1]当你运行第二行时,你会得到:[1, 1, 1]有人可以解释这种奇怪的行为吗?
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

parseInt()函数使用两个参数定义:要解析的字符串和一个数字,该数字指示为字符串表示假定的数字基数。在第二次迭代中,.map()调用实际上是在调用

Number.parseInt("1", 1)

基数 1 没有意义。(基数 0 也没有意义,但它忽略了这一点。)

回想一下,该.map()函数将 3 个参数传递给它的回调函数:数组中的一个元素、一个索引和数组本身。


查看完整回答
反对 回复 2023-04-14
?
达令说

TA贡献1821条经验 获得超6个赞

Number.parseInt如果返回第二个参数(radix在 MDN 文档中称为)小于 2 或大于 36,则接受 2 个参数。NaN



查看完整回答
反对 回复 2023-04-14
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信