• .map方法接受一个callback作为回调,同时会为这个回调传入三个参数,分别是value、index、arr,即迭代中的值、索引、数组本身
  • parseInt接收两个参数,分别是s、radix,即要解析的字符串、解析为的进制基数
  • 因此 ['1', '2', '3'].map(parseInt),每一次迭代相当于执行 parseInt(‘1’, 0)、parseInt(‘2’, 1)、parseInt(‘3’, 2)
  • 第一次执行,radix为0,默认为10进制,因此返回1, 而后面两次执行,radix为1、2,而s为’2’、’3‘,s >= radix都无法正确解析,因此返回NaN
  • 最终返回结果为 [1, NaN, NaN]
  • 据此,可以修改为 ['1', '2', '3'].map((s)=>parseInt(s)),指定传入的参数只有s,则默认为10进制,即可