Array.prototype.ownMethod = function(x) {
  x(this)
}

[1, 2, 3, 4].ownMethod(function(x) {
  return x[1]
}) // This callback won't work .





我试图在First-class函数中传递数组值。这种方法对我不起作用。

最佳答案

您已经被自动分号插入所吸引。

函数表达式用作属性访问器(而不是数组文字)后,会立即创建一个对象(函数)和方括号。

用分号添加一个明确的语句结尾以解决该问题。



Array.prototype.ownMethod = function(x) {
  x(this)
};

[1, 2, 3, 4].ownMethod(function(x) {
  console.log(x[1]);
}) 

关于javascript - 如何在JavaScript中编写自己的数组方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49721973/

10-15 13:21