对于parseInt的认知-["1", "2", "3"].map(parseInt)

 熟悉的面试题

首先, map接受两个参数, 一个回调函数 callback, 一个回调函数的this值

其中回调函数接受三个参数 currentValue, index, arrary;

而题目中, map只传入了回调函数--parseInt.

其次, parseInt 只接受两个两个参数 string, radix(基数).作用是将数字转换为十进制

parseInt:

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。


所以可解析为

parseInt('1', 0);

parseInt('2', 1);

parseInt('3', 2);

其中 parseInt('1', 0); 即将1以十进制转换为十进制,仍为1

parseInt('2', 1);  数字基数小于2,即返回NaN

parseInt('3', 2);  因为在2进制中没有数字3,所以无法转换,返回NaN

即结果  [1, NaN, NaN]

猜你喜欢

转载自www.cnblogs.com/yl179578605/p/10646745.html
今日推荐