Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
Dos funciones iguales dando resultados diferentes

Tengo dos funciones que verifican si una matriz está ordenada. La primera función parece ser precisa la mayor parte del tiempo, pero no siempre, la segunda parece funcionar de la forma en que se supone que debe hacerlo el 100% del tiempo. Las declaraciones condicionales son las mismas, así que me pregunto qué está causando esta diferencia en el comportamiento.

 function test(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i + 1] - arr[i] < 0) { return false } else { return true } } } console.log(test([2, 20, 1])) function test2(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i + 1] - arr[i] < 0) return false; } return true; } console.log(test2([2, 20, 1]))

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema con este código es que está devolviendo un valor en la primera verificación del bucle. En el primer ejemplo de código, probará:

 if (arr[i + 1] - arr[i] < 0) { return false } else { return true }

ya sea que se cumpla o no la condición, su código está devolviendo algo en el primer ciclo. Recuerde que cuando una función devuelve algo, finaliza inmediatamente y no devolverá ningún otro valor.

En la segunda función, cada vez que pasa por el bucle, SOLO devolverá falso si no se cumple la condición, si se cumple la condición, simplemente continuará. Volverá verdadero al final DESPUÉS de que finalice todo el ciclo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda