1

この indexOf を jQuery inArrayに変換するための優れたソリューションを探しています。私は IE8 でテストしていますが、indexOf は完全に失敗します。どんな助けでも大歓迎です。

function parse(datestring) {
    var date = parseInt(datestring.slice(0,2), 10),
        month = shortMonths.indexOf(datestring.slice(2,5).toLowerCase()),
        year = parseInt(datestring.slice(5,9), 10);
    return new Date(year, month, date);
}
4

4 に答える 4

0

代わりに、コードの書き直しを避け、これをコードの前に追加してください。indexOf を取得していないブラウザーに indexOf のサポートを追加します。

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function (searchElement , fromIndex) {
    var i,
        pivot = (fromIndex) ? fromIndex : 0,
        length;

    if (!this) {
      throw new TypeError();
    }

    length = this.length;

    if (length === 0 || pivot >= length) {
      return -1;
    }

    if (pivot < 0) {
      pivot = length - Math.abs(pivot);
    }

    for (i = pivot; i < length; i++) {
      if (this[i] === searchElement) {
        return i;
      }
    }
    return -1;
  };
}
于 2013-11-14T15:53:09.560 に答える
0

Mozilla Developer Networkで利用可能な indexOf の優れたポリフィルがあります。

于 2013-11-14T15:53:45.457 に答える