数组的map方法以及parseInt函数

it2022-05-05  148

原题: ['1', '2', '3'].map(parseInt); 第一次分解: ['1', '2', '3'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('1', 0) // 1 parseInt('2', 1) // NaN parseInt('3', 2) // NaN, 3 不是二进制 结果 ['1', '2', '3'].map(parseInt) // 1, NaN, NaN array.map(function(currentValue,index,arr)) currentValue: 必须,循环到的数组的当前值index: 可选,循环到的数组的当前值的索引arr: 可选,当前元素所属的数组对象,即调用这个方法的array parseInt("要转换的字符串", 进制基数radix)  进制基数:可以是 2,8,10,16,默认以 10 进制处理

在radix为 undefined,或者radix为 0 或者没有指定的情况下,JavaScript 作如下处理:

如果字符串 string 以"0x"或者"0X"开头, 则基数是16 (16进制).如果字符串 string 以"0"开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。因此,永远都要明确给出radix参数的值。如果字符串 string 以其它任何值开头,则基数是10 (十进制)。 原题:['10','10','10','10','10'].map(parseInt); 第一次分解: ['10','10','10','10','10'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('10', 0) // 10 parseInt('10', 1) // NaN parseInt('10', 2) // 2 parseInt('10', 3) // 3 parseInt('10', 4) //4 结果 ['10','10','10','10','10'].map(parseInt);// 10 NaN 2 3 4

 


最新回复(0)