js 基础面试

1.['1', '2', '3'].map(parseInt)

let arr = ['1', '2', '3']
  let res1 = arr.map(Number) // [ 1, 2, 3 ] 正确做法1
  let res2 = arr.map(item => item * 1) //[ 1, 2, 3 ] 正确做法2


  let res = arr.map(parseInt) //[ 1, NaN, NaN ]
  //实际上等于下面代码
  arr.map((item, index) => {
    return parseInt(item, index)
  })

  /*
  parseInt(String s, int radix)
  parseInt('1', 0) //radix为0时,且string参数不以“0x”和“0”开头时,按照10为基数处理。这个时候返回1
  parseInt('2', 1) //基数为1(1进制)表示的数中,最大值小于2,所以无法解析,返回NaN
  parseInt('3', 2) //基数为2(2进制)表示的数中,最大值小于3,所以无法解析,返回NaN
  
  */
原文地址:https://www.cnblogs.com/xiaoliziaaa/p/13256170.html