0

嘿,我有以下js代码:

for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++)

它抛出错误:SCRIPT438:对象不支持属性或方法'indexOf'

由于它适用于所有其他浏览器,我该如何解决这个问题?

4

2 回答 2

3

您可以在此处找到可以实现的原型版本:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf

于 2013-03-01T15:21:01.533 回答
0

您可以在 IE8 及更低版本中将此类功能扩展为 Fix for .indexOf

if (!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;
  };
} 
于 2014-08-07T14:20:18.290 回答