Javascript 为什么对map的这两个调用返回不同的值?
有人能解释一下原因吗Javascript 为什么对map的这两个调用返回不同的值?,javascript,Javascript,有人能解释一下原因吗 [“23”、“45”、“67”]地图(parseInt)返回[23,NaN,NaN] 但是 [“23”、“45”、“67”].map((e)=>parseInt(e))返回[23,45,67] ?[“23”、“45”、“67”]。map(parseInt)基本上是: ["23", "45", "67"].map((e, i) => parseInt(e, i)) 所以,它是内部的 对于“23”i是0。因此parseInt('23',0)//23 对于“45”i是1
[“23”、“45”、“67”]地图(parseInt)代码>返回[23,NaN,NaN]
但是
[“23”、“45”、“67”].map((e)=>parseInt(e))代码>返回[23,45,67]
?[“23”、“45”、“67”]。map(parseInt)
基本上是:
["23", "45", "67"].map((e, i) => parseInt(e, i))
所以,它是内部的
- 对于“23”
i
是0
。因此parseInt('23',0)//23
- 对于“45”
i
是1
。因此parseInt('45',1)//NaN
- 对于“67”
i
是2
。因此它parseInt('67',2)//NaN
在这个[“23”,“45”,“67”]中,map((e)=>parseInt(e))
,默认的基数
为10
。因此,它返回给您[23,45,67]
阅读以了解为什么在这种情况下,默认的radix
被选择为10
,parseInt(“45”,1)
返回什么?