面试 ['1','2','3'].map(parseInt)
2021-05-08 本文已影响0人
my木子
parseInt
- 基本用法,输入一个字符串,然后把字符串里面的数字提取出来,得到一个数字类型的数字
// 一个参数
parseInt('10') // 10
parseInt('10w') // 10
parseInt('1010')
parseInt('0xB') // 进行 16 进制转换,得到 11
- 第二个参数负责进制转换
- 如果参数为 0,就以 10 机制转换
- 如果参数小于 2 或大于 36,则返回 NaN
parseInt('1010',0) // 进行 10 进制转换,得到 10
parseInt('1010',1) // NaN
parseInt('1010',2) // 进行 2 进制转换,得到 10
parseInt('1010',36) // 46692
parseInt('1010',37) // NaN
拆解
['1','2','3'].map(parseInt)
// 等同于
['1', '2', '3'].map(function (value, index, array) {
return parseInt(value, index) // parseInt 直接收两个参数
})
// parseInt(‘1’, 0) // 1 的 10 进制,返回 1
// parseInt(‘2’, 1) // 1 不在 2 ~ 36 的范围内,返回 NaN
// parseInt(‘3’, 2) // 2 在 2 ~ 36 的范围内,但前面的字符串 3不在2进制范围内,只能是 0 1,返回 NaN