ใช้ไปเลยครับ
ถ้ามันไม่มี (ซึ่งมีบราวเซอร์ยอดนิยมยี่ห้อเดียวที่ไม่มีคือ IE version น้อยกว่า 8)
ก็ตรวจหาและสร้างมันลงใน Array.prototype ตั้งแต่ตอนเพจโหลดซะ
Array.prototype.indexOf()
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
"use strict";
if (this == null) {
throw new TypeError();
}
var t = Object(this);
var len = t.length >>> 0;
if (len === 0) {
return -1;
}
var n = 0;
if (arguments.length > 1) {
n = Number(arguments[1]);
if (n != n) { // shortcut for verifying if it's NaN
n = 0;
} else if (n != 0 && n != Infinity && n != -Infinity) {
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
}
if (n >= len) {
return -1;
}
var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
for (; k < len; k++) {
if (k in t && t[k] === searchElement) {
return k;
}
}
return -1;
}
}
Array.prototype.lastIndexOf()
if (!Array.prototype.lastIndexOf)
{
Array.prototype.lastIndexOf = function(searchElement /*, fromIndex*/)
{
"use strict";
if (this == null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;
var n = len;
if (arguments.length > 1)
{
n = Number(arguments[1]);
if (n != n)
n = 0;
else if (n != 0 && n != (1 / 0) && n != -(1 / 0))
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
var k = n >= 0
? Math.min(n, len - 1)
: len - Math.abs(n);
for (; k >= 0; k--)
{
if (k in t && t[k] === searchElement)
return k;
}
return -1;
};
}