Created
January 20, 2014 09:49
-
-
Save tott/8517558 to your computer and use it in GitHub Desktop.
indexOf was added to the ECMA-262 standard in the 5th edition; as such it may not be present in all browsers. You can work around this by utilizing the following code at the beginning of your scripts. This will allow you to use indexOf when there is still no native support. This algorithm matches the one specified in ECMA-262, 5th edition, assum…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (!Array.prototype.indexOf) { | |
Array.prototype.indexOf = function (searchElement, fromIndex) { | |
if ( this === undefined || this === null ) { | |
throw new TypeError( '"this" is null or not defined' ); | |
} | |
var length = this.length >>> 0; // Hack to convert object.length to a UInt32 | |
fromIndex = +fromIndex || 0; | |
if (Math.abs(fromIndex) === Infinity) { | |
fromIndex = 0; | |
} | |
if (fromIndex < 0) { | |
fromIndex += length; | |
if (fromIndex < 0) { | |
fromIndex = 0; | |
} | |
} | |
for (;fromIndex < length; fromIndex++) { | |
if (this[fromIndex] === searchElement) { | |
return fromIndex; | |
} | |
} | |
return -1; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment