Ver Mensaje Individual
  #12 (permalink)  
Antiguo 07/08/2011, 20:29
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Operador OR (simplificación)

Pero contains no forma parte de Ecma 262.

Por otro lado, la documentación de Mozilla provee del fallback (un poco extenso):

Código Javascript:
Ver original
  1. if (!Array.prototype.indexOf) {
  2.     Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
  3.         "use strict";
  4.         if (this === void 0 || this === null) {
  5.             throw new TypeError();
  6.         }
  7.         var t = Object(this);
  8.         var len = t.length >>> 0;
  9.         if (len === 0) {
  10.             return -1;
  11.         }
  12.         var n = 0;
  13.         if (arguments.length > 0) {
  14.             n = Number(arguments[1]);
  15.             if (n !== n) { // shortcut for verifying if it's NaN
  16.                 n = 0;
  17.             } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {
  18.                 n = (n > 0 || -1) * Math.floor(Math.abs(n));
  19.             }
  20.         }
  21.         if (n >= len) {
  22.             return -1;
  23.         }
  24.         var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
  25.         for (; k < len; k++) {
  26.             if (k in t && t[k] === searchElement) {
  27.                 return k;
  28.             }
  29.         }
  30.         return -1;
  31.     }
  32. }
__________________
blog | @aijoona