['1','2','3'].map(parseInt) 返回的是什么?
返回的是:[1,NaN,NaN]
首先我们先分析一下 parseInt 函数:
parseInt()函数解析一个字符串参数,并返回指定基数的整数(数学系统中的基数)。
它可以有两个参数,用法:parseInt(string, radix)
string:要解析的值。如果其不是字符串,则将其转换为字符串(使用toString抽象操作)。字符串开头的空白符将会被忽略。
radix:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间,默认为10
返回值:返回解析后的整数值。 如果被解析参数的第一个字符无法被转化成数值类型,则返回 NaN
然后我们再来分析一下数组的 map 方法:
map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
用法:
let array = arr.map(function callback(currentValue, index, array) {
// Return element for new_array
}[, thisArg])
参数:
callback :生成新数组元素的函数,使用三个参数:
currentValue:callback的第一个参数,数组中正在处理的当前元素
index:callback的第二个参数,数组正在处理的当前元素的索引值
array:callback的第三个参数,当前数组
返回值:一个新数组,每个元素都是回调函数的结果。
通过上面的说明,我们可以分析得出,['1','2','3'].map(parseInt) 都做了什么事情了: parseInt('1',0); // 1
parseInt('2',1); // NaN
parseInt('3',2); // NaN
所以最后返回的就是 [1,NaN,NaN]
['1','2','3'].map(parseInt) 返回的是什么?的更多相关文章
- ["1", "2", "3"].map(parseInt)`返回的结果是[1,2,3]?
今天刷到一道面试题,["1", "2", "3"].map(parseInt)返回的结果是什么呢?可能大家第一个想到的是 [1,2,3],但 ...
- 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?
在 javascript 中 ["1","2","3"].map(parseInt) ,2,3] 却是 [1,NaN,NaN]? 我们首先回 ...
- 解惑 ["1", "2", "3"].map(parseInt) 为何返回[1,NaN,NaN]
javascript中的parseInt与map函数都是常用的函数,可是 ["1", "2", "3"].map(parseInt) 为何返 ...
- ["1", "2", "3"].map(parseInt) 为何返回[1,NaN,NaN]
转载自:http://blog.csdn.net/freshlover/article/details/19034079 这涉及到是否深入理解两个函数的格式与参数含义. 首先根据我对两个函数用法的了解 ...
- 通过 ['1', '2', '3'].map(parseInt) 学习 map 和 parseInt 函数
看到一道笔试题: ['1', '2', '3'].map(parseInt) 这道题目中涉及到 map 和 parseInt 函数的运用,如果对这两个函数的理解不充分的话,是很难思考出正确的结果的. ...
- map.(parseInt)方法详解
偶然间碰到这样一个问题: ["1","2", "3"].map(parseInt) //[ 1, NaN, NaN ] 运行结果 [ 1, ...
- ["1", "2", "3"].map(parseInt)?
["1", "2", "3"].map(parseInt)得到什么? 答案是:[1, NaN, NaN]. 原因:parseInt接收的是两 ...
- JavaScript:['1','2','3'].map(parseInt)问题解析
最近碰到了['1','2','3'].map(parseInt)这种看似不起眼陷阱却极大的问题. 这乍一看,感觉应该会输出[1,2,3].但是,实际上并不是我们想的这样.你可以现在打开console, ...
- ["1", "2", "3"].map(parseInt) 结果
// 下面的语句返回什么呢: ["1", "2", "3"].map(parseInt); // 你可能觉的会是[1, 2, 3] // 但 ...
随机推荐
- linux pip 查看版本提示
After upgrading pip (or pip3, in this case) if the following occurs: $ ~ pip3 -V Traceback (most rec ...
- 设置小窗口Activity
http://blog.csdn.net/xieyihua1994/article/details/52586270 我们知道Activity本身是没有界面的.所以activity类创建了一个窗口,开 ...
- Cisco 交换Trunk配置
交换Trunk配置 #进入直连端口下 config)#int f0/1 #配置trunk封装协议 config)#switchport trunk encapsulation dot1q #配置为tr ...
- asp.net发送短信
public class SmsServiceManager { public static string Send(string PhoneNumber, out string sendNo) { ...
- Helloworld.JaVa 第一次编程
package Jc; class Jc1st { public static void main(String[] args) { System.out.println("Hello Wo ...
- Java搞笑注释(佛-)
// _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\____ // . ' \\| ...
- python-集合、字典
文件操作: open() read() readline() readlines() write() writelines() flush() #刷新缓冲区 seek() 修改文件读写指针 t ...
- MySQL——修改数据表
1.添加单列: ALERT TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name 其中tbl_nam ...
- 翻翻git之---丰富多样的路由跳转开源库 ARouter
转载请注明出处:王亟亟的大牛之路 有一段时间没更新博客了,最近也没学什么新东西,正好组里小伙在做路由跳转的一个"公共库",然后正好最近这样的轮子不少,我也就跟着看看,学习一下人家的 ...
- Linux系统巡检项目
系统检测 1.检查系统类型 2.检查发行版本 3.检查内核版本 4.检查主机名称 5.检查是否启用SElinux 6.检测默认的语言/编码 7.检测uptime 8.检测最后启动时间等 CPU检查 1 ...