我正在尝试使用reduce 连接数组数组,我想我可以使用 Array.prototype.concat 函数,如下所示:
arr = [[1],[2],[3]]
arr.reduce((a, b) => Array.prototype.concat(a, b), [])
效果很好并给了我数组[1, 2, 3]
。然后我想我可以更聪明,这样做:
arr = [[1],[2],[3]]
arr.reduce(Array.prototype.concat, [])
然而,这给了我一个错误:
TypeError: Array.prototype.concat called on null or undefined
at Array.reduce (native)
at Object.<anonymous> (/home/axel/Developer/temp/reduce2.js:2:5)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.runMain (module.js:590:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
似乎认为Array.prototype.concat
is undefined
。为什么是这样?