Adding Methods to array prototype so i can apply it to array object.But it is giving an error TypeError: Array.method is not a function

Adding Methods to array prototype so i can apply it to array object.But it is giving an error TypeError: Array.method is not a function

我正在尝试向数组 prototype.But 添加一个方法,它给我一个错误 TypeError: Array.method is not a function

我正在尝试 JavaScript 中的这个例子:好的部分。

这是我的一段代码。

    Array.method('reduce',function(f,value){
      var i;
      for(i=0; i < this.length; i+1){
        value = f(this[i],value);
      }
      return value;
    });


    var data = [1,3,2,4,5,6,7,8,9];

    var add = function(value1, value2){
      return value1 + value2;
    }

    var result = data.reduce(add, 0);

    console.log(result);

我想将 reduce 方法应用于 data 数组。所以我可以对数组进行加法和乘法运算,然后 return 结果。

您试过的大部分代码都是正确的。我认为您正在尝试使用 reduce 函数将所有元素和 return 添加到数组中。但要实现你想要的,请查看 fiddle link:

http://jsfiddle.net/x2ydm091/2/

Array.prototype.reduce=function(f, value){
    for(var i=0;i< this.length;i++){
        value=f(this[i],value);
    }
    return value;
};

var add = function(a,b){
    return a+b;
}

var data = [1,3,2,4,5,6,7,8,9];
var result = data.reduce(add,0);
alert(result);

希望对您有所帮助!

我也在看这本书,我认为这行不通,因为之前在书中他定义了一个名为 method 的方法来避免使用 Array.prototype.somethingFunction.prototype something 每次你想向数组、函数或对象原型添加方法时。

Function.prototype.method = function(name, func) {
this.prototype[name] = func;
return this;
};

在开头追加上面的代码。我有同样的问题。他们在前言中提到了这一点。检查一下....我希望它有所帮助.... :)