前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题:[‘1’, ‘2’, ‘3’].map(parseInt) 运行结果?简述理由

面试题:[‘1’, ‘2’, ‘3’].map(parseInt) 运行结果?简述理由

作者头像
Javanx
发布2019-11-04 03:03:22
6820
发布2019-11-04 03:03:22
举报
文章被收录于专栏:web秀web秀

第一眼看到这个题目的时候,脑海跳出的答案是 [1, 2, 3],但是真正的答案是[1, NaN, NaN]。

首先让我们回顾一下,map函数的第一个参数callback:

代码语言:javascript
复制
var new_array = arr.map(function callback(currentValue[, index[, array]]) { 
    // Return element for new_array
}[, thisArg])

这个callback一共可以接收三个参数,其中第一个参数代表当前被处理的元素,而第二个参数代表该元素的索引。

parseInt则是用来解析字符串的,使字符串成为指定基数的整数。

代码语言:javascript
复制
parseInt(string, radix)

接收两个参数,第一个表示被处理的值(字符串),第二个表示为解析时的基数。

了解这两个函数后,我们可以模拟一下运行情况

parseInt('1', 0) //radix为0时,且string参数不以“0x”和“0”开头时,按照10为基数处理。这个时候返回1

parseInt('2', 1) //基数为1(1进制)表示的数中,最大值小于2,所以无法解析,返回NaN

parseInt('3', 2) //基数为2(2进制)表示的数中,最大值小于3,所以无法解析,返回NaN

map函数返回的是一个数组,所以最后结果为[1, NaN, NaN]

最后附上MDN上对于这两个函数的链接,具体参数大家可以到里面看

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

原文地址:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/4

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先让我们回顾一下,map函数的第一个参数callback:
  • 而parseInt则是用来解析字符串的,使字符串成为指定基数的整数。
  • 了解这两个函数后,我们可以模拟一下运行情况
  • map函数返回的是一个数组,所以最后结果为[1, NaN, NaN]
  • 最后附上MDN上对于这两个函数的链接,具体参数大家可以到里面看
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档