JavaScript面试题[‘1‘, ‘2‘, ‘3‘].map(parseInt)

const res1 = [1,2,3].map(parseInt)
console.log("res1",res1)   //[1,NAN,NAN]

//如果理解不了可能是因为将上面等价于下面的代码
 
const res2 = [1,2,3].map(item=>{
     return parseInt(item)
})
console.log("res2",res2)   //[1,2,3]

//实际上是等价于下面的代码
//首先简单介绍一下parseInt(字符串,基数) 这里的基数就是几进制
const res3 = [1,2,3].map((item,index) => {
    return parseInt(item,index)  //这里将index也传给了parseInt,所以导致NAN
})
console.log("res3",res3) //[1,NAN,NAN]
parseInt(2,1) //NAN ,因为1进制里面没有2
parseInt(3,2) //NAN,因为2进制里面没有3

你可能感兴趣的:(前端,Js,javascript,开发语言,ecmascript)