当我执行以下语句时:
var string = "1 1 1 1 1 1 0 1 1"
console.log(string)
var strings = string.split(" ")
console.log(strings)
var numbers1 = strings.map(parseInt)
console.log(numbers1)
var numbers2 = strings.map(function(i){ return parseInt(i, 10) })
console.log(numbers2)
Run Code Online (Sandbox Code Playgroud)
我在控制台中获得以下输出:
1 1 1 1 1 1 0 1 1
["1", "1", "1", "1", "1", "1", "0", "1", "1"]
[1, NaN, 1, 1, 1, 1, 0, 1, 1]
[1, 1, 1, 1, 1, 1, 0, 1, 1]
Run Code Online (Sandbox Code Playgroud)
我想知道为什么第二个元素numbers1是NaN.除了这个之外,为什么它适用于所有其他元素?
这是因为map传递了额外的参数.
Array.prototype.map = function(currentValue, index, array)
Run Code Online (Sandbox Code Playgroud)
所以当它在索引1时,它将1作为基数.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |