• 欢迎来到本博客,希望可以y一起学习与分享

用map把字符串变成整数的坑

JavaScript/Jquery benz 3年前 (2018-10-12) 85次浏览 0个评论 扫描二维码

这结果居然是[1, NaN, NaN];求解!

我们来看一下map的接收参数:array.map(function(currentValue,index,arr), thisValue),map给我们提供两个接收参数:function(currentValue,index,arr),必须;thisValue,可选。我们在案例里的arr.map(parseInt);parseInt就是对应map的第一个参数function(currentValue,index,arr)。既然,parseInt作为map的function,map的function(currentValue,index,arr)会传递三个参数给parseInt

  • currentValue 必须。当前元素的值
  • index 可选。当前元素的索引值
  • arr 可选。当前元素属于的数组对象

也就说parseInt在map里会接收到三个参数。
我们再来看一下parseIntparseInt(string, radix)parseInt也有两个接收参数:

  • string 必需。要被解析的字符串。
  • radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

这样就巧了,map传三个参数给parseInt,而parseInt要接收两个参数。于是,参数一一对应下来:map的currentValue传给parseInt的string;map的index传给parseInt的radix,于是,parseInt执行的是这样的指令:

  • pareInter(1,0)
  • pareInter(2,1)
  • pareInter(3,2)

所以,结果是:1,NaN,NaN


文章 用map把字符串变成整数的坑 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!