Code前端首页关于Code前端联系我们

['1', '2', '3'].map(parseInt) 什么和为什么?

terry 2年前 (2023-09-09) 阅读数 251 #Javascript

当我第一次看到这个问题时,我脑海中浮现的答案是 [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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门