Array.map + parseInt

MJB*_*MJB 1 javascript arrays parseint

var timeSplit = timeCaption.innerText.trim().split(' ');
Run Code Online (Sandbox Code Playgroud)

将产生一个数组 ["10:00", "–", "18:00"]

var startStr = timeSplit[0].split(':');
Run Code Online (Sandbox Code Playgroud)

将产生一个数组 ["10", "00"]

var res = startStr.map(parseInt);
Run Code Online (Sandbox Code Playgroud)

将产生一个数组 [10, NaN]

然而

var res = startStr.map(function (x) {
   return parseInt(x);
});
Run Code Online (Sandbox Code Playgroud)

工作正常,将产生"预期"数组 [10, 0]

我希望每个字符串都传递给parseInt它返回正确的整数值(并且单独执行该操作也会产生正确的结果,就像工作代码一样).

我在这里错过了什么?

编辑:我自己投票决定关闭这个问题.很明显的错误.大家好!

Der*_*會功夫 6

parseInt 接受2个参数:

  1. 要解析的字符串
  2. 基数

.map 用3个参数调用你的函数:

  1. 价值
  2. 指数
  3. 排列

如果你考虑一下,

parseInt("00", 1)
Run Code Online (Sandbox Code Playgroud)

没有意义,它会回来NaN.parseInt接受2到36之间的基数.