面试题:[‘1′,’2′,’3’].map(parseInt)

原文链接:Fancy的技术

面试题:[‘1′,’2′,’3’].map(parseInt)_第1张图片

拆解:
map方法中第一个参数为回调方法,接收2个参数,一个是value,一个是index;
parseInt方法中,第一个参数为待处理的数字或者字符串,第二个参数为进制(radix)
等价于代码:

const a = ['1','2','3'].map(function (value, index) {
  return parseInt(value, index)
});

当radix未定义或者为0且value不是0x开头,默认按照10进制处理,由此可得:

parseInt('1',0);
parseInt('2',1);
parseInt('3',2);

因为数值不得大于进制数字,即 2进制最大个位数为1, 1进制没有意义,所以结果分别为1,NaN,NaN

你可能感兴趣的:(javascript)