['1', '2', '3'].map(parseInt) 什么和为什么?
当我第一次看到这个问题时,我脑海中浮现的答案是 [1 , 2, 3],但是正确答案是 答案是 [1, NaN, NaN]。
地图功能
首先我们回顾一下map函数的第一个参数回调:
var new_array = arr.map(function callback(currentValue[, index[, array]]) {// 返回 new_array 的元素 }[, thisArg])
该回调一共可以接收三个参数,第一个参数代表当前正在处理的元素,第二个参数代表元素的索引。
parseInt 函数
parseInt Base 是 2 到 36 之间的整数。
parseInt(字符串,基数) // 获取两个参数,第一个表示要处理的值(字符串),第二个表示解析时的基数。
模拟情况
了解了这两个函数之后,我们就可以模拟操作了。
2 parseInt('2', 1) // 以1为基数(base 1)表示的数字中,最大值小于2,因此无法解析,返回NaN。 parseInt('3', 2) // 以2为基数(二进制)表示的数字中,最大值小于3,因此无法解析,返回NaN。map函数返回的是一个数组,所以最终的结果是[1, NaN, NaN]
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:JSON.stringify()可选参数的作用 下一篇:定期实施验证中文
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。