parseInt()
parseInt(string, radix)将一个字符串转换为radix进制的整数,radix为介于2-36之间的整数。当radix小于2或者大于36时,或者第一个非空格字符不能转换为数字时,返回NaN。
radix
radix参数为undefined,为0或是没有指定的情况下,JavaScript将做如下处理:
· 如果字符串string以"0x"或者"0X"开头,radix被设置为16
· 如果字符串string以"0"开头,radix可能会被不确定的设置为8或10
· 字符串string以其他任何值开头时,radix设置为10
Array.prototype.map()
map方法不修改原数组的情况下创建一个新数组,给原数组中的每个元素都按顺序调用一次callback函数,每次调用callback后的返回值作为新数组的元素。
callback
生成新数组元素的函数,使用三个参数,其中后两个时可选的,分别是:
currentValue
callback数组中正在处理的当前元素
index (可选)
callback数组中正在处理的当前元素的索引
array (可选)
map方法调用的数组
thisArg
map方法的可选参数,作为map的第二个参数,可设置执行callback函数时的this值
默认传参
由于函数parseInt声明时具有两个入参,所以callback函数会传入第一个和第二个参数。
//parseInt声明时是这样的 function parseInt(string, radix)
['1','2','3'].map(parseInt)
//所以上面的代码等价于
['1','2','3'].map((item, index) => {
return parseInt(item, index)
})
如果需要循环访问字符串数组,并把它逐个转成数字
['1','2','5','8'].map(Number);
//得到一个新数组 [1,2,5,8]