¿Qué pasa con longitud de los Arrays de javascript en Internet Explorer?

Tras un parón veraniego aquí vuelvo a la carga con una curiosidad de javascript.

Puede ocurrir que cuando generamos un Array de alguna manera dinámica por algún motivo, nos encontremos con que hemos construido los siguiente:

[11,22,33,]

Sí, efectivamente, con una coma al final pero sin incluir ningún elemento.

Después de generarlo, lo normal es que queramos iterar por sus elementos para hacer algún tratamiento sobre éstos. Para ello se suele utilizar un bucle for mediante la propiedad length del array.

Y aquí viene lo divertido. A la hora de medir la longitud de éstos con el método length puede suceder lo siguiente:

  • Según Internet Explorer (incluso hasta su versión 10):
[11,22,33,].length
4
  • Según el resto de navegadores:
[11,22,33,].length
3

Y así te puedes  tirar horas de depuración hasta que de repente descubres esto gema curiosa. Una vez más, gracias Internet Explorer por darnos trabajo. Han seguido aferrados a ese resultado hasta que en su versión 11 se comporta ya como los demás.

¿Qué pasa con longitud de los Arrays de javascript en Internet Explorer?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s