重写Array.map()方法

来源:互联网 发布:顶级域名多少类 编辑:程序博客网 时间:2024/05/18 18:20
 

// 重写Array.map()方法

// Array.map() invokes a function f on each element of the array,
// returning a new array of the values that result from each function
// call. If map() is called with two arguments, the function f
// is invoked as a method of the second argument. When invoked, f()
// is passed 3 arguments. The first is the value of the array
// element. The second is the index of the array element, and the
// third is the array itself. In most cases it needs to use only the
// first argument.

// 数组的map() 在数组的每个元素上调用一个方法 f
// 每一次调用方法 f 返回的结果作为新数组的值。
// 如果map()方法有两个参数,方法f会作为第二个参数的方法被调用
// 当调用的时候,f() 有三个参数.第一个是数组元素的值. 第二个是
// 数组元素的索引. 第三个是数组本身. 在多数情况下只需要第一个参数

if (!Array.prototype.map)
{
    Array.prototype.map = function (f, thisObject)
    {
        var results = [];
        for (var len = this.length, i=0; i < len; i++)
        {
            results.push(f.call(thisObject, this[i], i, this));
        }
        return results;
    }
}

原创粉丝点击