JavaScriptTrick--[1, 2, 3].map(parseInt)

题目

["1", "2", "3"].map(parseInt);
//输出
[1, NaN, NaN]

输出什么?

1、parseInt()

//使用语法
parseInt(string, radix)

parseInt方法可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

当忽略参数 radix , JavaScript 默认数字的基数如下:
* 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
* 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符 解析为八进制或十六进制的数字。
* 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
* 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

参数描述
string必需。要被解析的字符串。
radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

2、map()

//使用语法
array.map(function(currentValue,index,arr), thisValue)

map方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。
* map() 不会对空数组进行检测。
* map() 不会改变原始数组。

function(currentValue, index, arr)
参数描述
currentValue必须。当前元素值
index可选。当前元素的索引值
arr可选。当前元素属于的数组对象
thisValue

可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
如果省略了 thisValue ,”this” 的值为 “undefined”


所以
[“1”,”2”,”3”].map(parseInt)
等于
[parseInt(1,0),parseInt(2,1),parseInt(3,2)]

parseInt(1,0) //radix为0,1十进制为1

parseInt(2,1) //radix小于2,返回NaN

parseInt(3,2) //radix为2,3的二进制NaN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值