数组的map方法以及parseInt函数

Posted wuliangfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的map方法以及parseInt函数相关的知识,希望对你有一定的参考价值。

原题: [‘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

 

 

 

以上是关于数组的map方法以及parseInt函数的主要内容,如果未能解决你的问题,请参考以下文章

['1', '2', '3'].map(parseInt) 输出答案和解析

['1','2','3'].map(parseInt)结果到底是啥?

当map遇到parseInt

["1", "2", "3"].map(parseInt) 答案是多少?

Web 前端陈年烂题:[‘1‘, ‘2‘, ‘3‘].map(parseInt) 结果是什么?

由["1", "2", "3"].map(parseInt) 引发的问题