['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); // 1parseInt(‘2‘,1); // NaNparseInt(‘3‘,2); // NaN
所以最后返回的就是 [1,NaN,NaN]

  

['1','2','3'].map(parseInt) 返回的是什么?

时间: 2024-10-23 14:24:05

['1','2','3'].map(parseInt) 返回的是什么?的相关文章

解惑 ["1", "2", "3"].map(parseInt) 为何返回[1,NaN,NaN]

javascript中的parseInt与map函数都是常用的函数,可是 ["1", "2", "3"].map(parseInt) 为何返回不是[1,2,3]却是[1,NaN,NaN]? 这涉及到是否深入理解两个函数的格式与参数含义. 首先根据我对两个函数用法的了解,猜测是由于parseInt(string, radix) 的参数radix必须介于2~36之间,而且字符串string中的数字不能大于radix才能正确返回数字结果值. 我们通过以

["1", "2", "3"].map(parseInt) 为何返回[1,NaN,NaN]

转载自:http://blog.csdn.net/freshlover/article/details/19034079 这涉及到是否深入理解两个函数的格式与参数含义. 首先根据我对两个函数用法的了解,猜测是由于parseInt(string, radix) 的参数radix(进制)必须介于2~36之间,而且字符串string中的每个位上的数字不能大于radix才能正确返回数字结果值. 我们通过以下javascript代码测试一下: var a=["1", "2",

["1", "2", "3"].map(parseInt)?

["1", "2", "3"].map(parseInt)得到什么? 答案是:[1, NaN, NaN]. 原因:parseInt接收的是两个参数,map传递的是3个参数. map函数定义: arr.map(callback[,thisArg]); callback函数需要以下3个值: currentValue:当前处理数值 index:处理的数值的索引值 array:map函数处理的函数值 thisArg可选.  callback函数里的thi

["1", "2", "3"].map(parseInt) 答案是多少?

让我们先看看最直接最粗暴的方式 没错,答案就是:[1, NaN, NaN],那为什么答案是[1, NaN, NaN]呢? 1.让我们先了解一下map函数的定义 JavaScript Array map() 方法 定义和用法 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. map() 方法按照原始数组元素顺序依次处理元素. 注意: map() 不会对空数组进行检测. 注意: map() 不会改变原始数组. 因为 parseInt 需要两个参数 (val, radix

["1", "2", "3"].map(parseInt) 结果

// 下面的语句返回什么呢: ["1", "2", "3"].map(parseInt); // 你可能觉的会是[1, 2, 3] // 但实际的结果是 [1, NaN, NaN] // 通常使用parseInt时,只需要传递一个参数. // 但实际上,parseInt可以有两个参数.第二个参数是进制数. // 可以通过语句"alert(parseInt.length)===2"来验证. // map方法在调用callback

由["1", "2", "3"].map(parseInt) 引发的问题

基础知识 map语法 map(callback, [thisArg]) map 参数 callback 生成新数组元素的函数,callback参数,使用三个参数 currentValue callback 数组中正在处理的当前元素 index [可选] callback 数组中正在处理的当前元素的索引 array [可选] callback  map 方法被调用的数组 thisArg [可选] 执行 callback 函数时使用的this 值 返回值 一个新数组,每个元素都是回调函数的结果 pa

['1', '2', '3'].map(parseInt) 输出答案和解析

根据题目可以了解到这道题主要考我们的是对map函数和parseInt函数的熟悉程序,所以我们先来了解这两个函数 map 根据MDN上对于map的解释:map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果. 上面的话读起来可能比较晦涩,我个人理解其实就是遍历数组,对数组的每一项进行遍历并做数据处理.这道题的关注重点就是在于map对于数组处理的方法,所以我们着重看下在MDN对于map参数的解释: callback 生成新数组的元素的函数,使用三个参数: curr

关于面试题:[1, 2, 3].map(parseInt)问题的剖析

一.前言 最近有小伙伴在公号中咨询了胡哥这道面试题,窃以为是比较有意思的一道面试题,于此分享给各位小伙伴.先把答案给了各位,和你理解的一样吗?! [1, 2, 3].map(parseInt) // [1, NaN, NaN] 如果你答案你都明白,请出门左转:React源码/原理了解一下. 二.剖析 这道面试题,本身并不复杂.不能正确回答问题的小伙伴,大多数集中于对parseInt这个函数的不了解或者了解的不全面,下面就由胡哥为大家抽丝剥茧一一讲述. 1. map函数 map()方法创建一个新数

springMVC返回map和返回json的例子

spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void. Map   @RequestMapping("/demo2/show") public Map<String, String> getMap() { Map<String, String> map = new HashMap<String, String>(); map.put("key1&