es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de bucle de JavaScript en el medio del bucle.

Hola chicos, estoy intentando hacer un bucle sobre una matriz de números. Lo que quiero que mi función haga es devolver la palabra ‘Yan’ en lugar del número cuando la posición de un número en la matriz es un número PAR. Pero cuando la posición de un número es un número IMPAR, quiero que devuelva solo un número.

Pero por alguna razón, en medio de la matriz estoy obteniendo la palabra ‘Yan’ en lugar de obtener un número.

const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]
const reversValid1 = valid1.reverse()

const myArray = []

const validateCard = (arr) =>{
for(let i = 0; i < arr.length; i++){
if(arr.indexOf(reversValid1[i])%2 == 1){
console.log(‘Yan’)
}
else{
console.log(arr[i])
}
}
}

validateCard(reversValid1)

Estoy obteniendo la siguiente respuesta:

8
Yan
8
Yan
1
Yan
8
Yan
9
Yan
Yan
Yan
9
Yan
5
Yan

Puedes ver que estoy obteniendo 3 Yan consecutivamente.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás utilizando el método reverse() en el array antes de recorrerlo. Esto hace que el índice del array esté desajustado, por lo que al comprobar si el índice es par o impar, no está devolviendo el resultado correcto.

    Intenta recorrer el array sin revertirlo primero y verifica si eso soluciona el problema.

Comments are closed.