嘿,我有以下js代码:
for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++)
它抛出错误: SCRIPT438:对象不支持属性或方法'indexOf'
如何修复,因为它适用于所有其他浏览器?
答案 0 :(得分:3)
您可以在此处找到可以实现的原型版本:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
答案 1 :(得分:0)
您可以在IE8及以下
中扩展此功能,例如Fix for .indexOfif (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(elt /*, from*/) {
var len = this.length >>> 0,
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;
};
}