天天看点

JavaScript Array对象indexOf()方法的实现

背景:JavaScript中Array对象的标准方法中,没有indexOf()方法,可通过下面的代码扩展。

if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(elt) {
        var len = this.length >>> 0;
        var from = Number(arguments[1]) || 0;
        from = (from < 0) ? Math.ceil(from) : Math.floor(from);
        if (from < 0) from += len;
        for (; from < len; from++) {
            if (from in this && this[from] === elt) return from;
        }
        return - 1;
    };
}
           

继续阅读