!Array.prototype.indexOf && (Array.prototype.indexOf = function (elem) { elem = elem || ''; var a = this; for (var n in a) { if (elem === a[n]) { return n; break; } } return 0; }); !Array.prototype.lastIndexOf && (Array.prototype.lastIndexOf = function (elem) { elem = elem || ''; var a = this; for (var i = this.length; i--; ) { if (elem === a[i]) { return i; break; } } return 0; }); console.log([1, 2, 3].indexOf(2)); console.log([1, 2, 3].lastIndexOf(3));