Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Verificación de la existencia de valor JS: Arrays

Al trabajar con arrays en JavaScript, es muy común encontrarse con un problema llamado desbordamiento de array. En palabras simples, esto sucede cuando intentamos acceder a una posición (índice) del array que no existe.

Acceder a un índice inexistent

Miremos con un ejemplo:

const animals = ['cats', 'dogs', 'birds'];
// No existe un elemento en la posición 5
console.log(animals[5]); // undefined

En JavaScript, cuando intentamos acceder a un índice fuera de los límites del array, el resultado es undefined.

JavaScript maneja este caso con más flexibilidad. No produce errores críticos, simplemente devuelve undefined. Esto parece inofensivo, pero no siempre es algo bueno...


Veamos más ejemplos:

const animals = ['cats', 'dogs', 'birds'];

// Estos índices no existen, entonces obtenemos undefined
console.log(animals[5]); // undefined
console.log(animals[4]); // undefined
console.log(animals[3]); // undefined

// Pero este índice SÍ existe
console.log(animals[2]); // 'birds'

Cuando queremos acceder a animals[5], el array no tiene un elemento en esa posición, así que devuelve undefined. Esto no genera un error, pero puede causar problemas si no lo manejamos bien.

¿Por qué el desbordamiento de arrays puede ser un problema?

En la mayoría de los casos, el desbordamiento sucede por error. Si intentas acceder a un índice que no existe en el array, probablemente hay un problema en la lógica de tu código.

Aunque el programa sigue funcionando, puede mostrar resultados incorrectos o comportamientos inesperados.

¿Cómo evitar el desbordamiento?

✅ La solución más simple es asegurarnos de que el índice está dentro de los límites del array. Es decir, que esté entre 0 y array.length - 1.

const items = ['apple', 'banana', 'cherry'];
const index = 2; // Podemos cambiar este valor para probar

// Verificamos si el índice es válido antes de acceder al array
if (index < items.length) {
  console.log(items[index]); // ¡Todo bien! Accedemos a un valor existente
} else {
  console.log('Índice fuera de los límites del array');
}

Atención: En la condición, usamos < en lugar de <= porque los arrays en JavaScript tienen un índice desde 0 hasta length - 1.

Por ejemplo, si items.length es 3, entonces los índices válidos son 0, 1 y 2, pero NO 3.

Resumen

  • El desbordamiento de array ocurre cuando intentamos acceder a un índice que no existe en el array.
  • En JavaScript, esto no causa un error, simplemente devuelve undefined.
  • Para evitar el desbordamiento, siempre verifica que el índice esté dentro del rango correcto (0 a array.length - 1).

Incluso los programadores más experimentados pueden cometer este tipo de errores, así que no te preocupes si te pasa. Con práctica, identificarás y solucionarás estos problemas con facilidad.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY