why IE7 javascript array.indexOf is not working?
arrays, indexof, internet-explorer-7, javascript
Solution
Add this in your `document.ready` method:
if(!Array.prototype.indexOf) {
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
}
This is needed because IE does not include this method up to IE8. The above function checks if it exists, if not it extends the Array prototype with it.
Problem
why in IE7 javascript array.indexOf is not working? Here is one sample ``` function loaderFn() { var arr=["0","1","2"]; var b = arr.indexOf("1") alert("Index of 1 is "+b); } ``` In IE7 in line 4 (arr.indexOf("1")) Object doesn't support property or method 'indexOf' error throws Why this hapening only in IE7? What is the way to find index no of a value in array using javascript for IE7?