array.map(function(currentValue,index,arr), thisValue)
function(currentValue,index,arr):回调函数
- currentValue:当前值
- index:当前值的索引
- arr:调用该方法的数组
thisValue:用于给function显式绑定this
parseInt(string, radix);
如果 radix 是 undefined、0或未指定的,JavaScript会假定以下情况:
如果输入的 string以 "0x"或 "0x"(一个0,后面是小写或大写的X)开头,那么radix被假定为16,字符串的其余部分被当做十六进制数去解析。
如果输入的 strin以 "0"(0)开头,g radix被假定为8(八进制)或10(十进制)。具体选择哪一个radix取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用 parseInt 时,一定要指定一个 radix。
如果输入的 string 以任何其他值开头, radix 是 10 (十进制)。
string:需要转为整数的字符串
radix:进制
所以['1', '2', '3'].map(parseInt)执行过程如下代码所示
['1', '2', '3'].map(parseInt(string,radix))相当于执行以下代码:
let arr = [];
arr.push(parseInt('1',0))//输入0||undefined||未指定,又因为‘1’不是以0或0x开头,所以就是十进制
arr.push(parseInt('2',1))//radix基数只能取到 2 - 36 之间,所以NaN
arr.push(parseInt('3',2))//NaN,因为二进制只有0,1