【面接問題】「'1'、'2'、'3'」.map(parseInt)は結果を出力しますか?


多くの人が面接でこの問題を見たことがありますが、その答えは「1、NaN、NaN」です.なぜですか?
まず、map関数のパラメータ定義を見ます.
array.map(function(currentValue,index,arr), thisValue)
具体的な意味は言わないで、更にパーミッションのパラメーターの定義を見てみます.
parseInt(string, radix)
多くの人がParseIntを使ったことがありますが、基本的には第二のパラメータはあまり使いません.w 3 schoolではこう定義されています.
           。     2 ~ 36   。
            0,      10       。     “0x”   “0X”   ,   16    。
        2      36,  parseInt()     NaN。`
私達のこの問題の中で、明らかにその戻り値は実際には:
[
    parseInt('1', 0),
    parseInt('2', 1),
    parseInt('3', 2)
]
その定義から、最初に入ってきた2番目のパラメータは0であるので、10をもとに解析します.したがって、戻り数字1自体が2番目に入ってきた2番目のパラメータは1で、2以下です.したがって、戻りNaNは3番目に入ってきた2番目のパラメータは2です.2進数は0、1だけです.だから、文字列3に入ってきた時には識別できません.だから戻ってきたNaNです.
以上
参考資料:parseInt:https://www.w3school.com.cn/j... map:https://www.cnblogs.com/zhaox...