Se me dificulta el condicional de los loops, en el sentido que no se cuando colocar arr.length o arr.length-1. Ese -1 siempre me anda jugando malas pasadas.

arr.length es la cantidad de elementos. PERO el último índice es arr.length - 1.  ¿Por qué? Porque los arrays empiezan en índice 0.  Si tienes:  const arr = ["a", "b", "c"];   Entonces:  arr.length → 3 (cantidad de elementos) Índices → 0, 1, 2 Último índice → 2  y 2 = 3 - 1

Caso 1: Quiero recorrer TODOS los elementos

for (let i = 0; i < arr.length; i++) {

console.log(arr[i]);

}

¿Por qué < arr.length y no <=?

Porque si haces: i <= arr.length

En la última vuelta i sería 3

Y arr[3] no existe


 Entonces:

✔ i < arr.length → correcto

i <= arr.length → error


Caso 2: Quiero acceder al último elemento

Aquí sí necesitas el -1:  arr[arr.length - 1]  

Porque el último índice es length - 1.


Truco Mental  Hazte siempre esta pregunta:  

  • ¿Estoy comparando con una CANTIDAD o con un ÍNDICE?
  • Si comparas con cantidad → usa < arr.length
  • Si quieres el último índice → usa arr.length - 1


para dudas de algoritmos, tienes el canal de #⁠algorithms en Discord, con el crack de Marco!

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contáctanos Contáctanos