["1", "2", "3"].map(parseInt) 运行结果是什么,并写下分析过程
结果:[1, NaN, NaN]
过程:使用map()时会把对应内容都遍历一遍,那么在遍历的过程中parseInt会处理数组["1", "2", "3"],那么根据parseInt(string,radix)的特性,在map遍历到"1"时,执行parseInt("1",0) => 当radix为0时,意味着以10为基数进行进制转换,"1"在十进制里就是1,自然第一个输出的就是1; map()遍历到"2"时,执行parseInt("2",1) => 意味着以1为基数进行转换,那么在此过程中不会出现大于1的数字,所以无法解析,输出NaN;同理,在遍历到"3"时,因为是parseInt("3", 2) => 以2为基数,进行二进制,那么二进制中不存在大于等于2的数,所以无法解析,输出NaN
|
|