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

155
Vistas
¿Cuál es el propósito de restar de Math.random?

Estoy revisando javascript.info y haciendo las tareas de práctica para Array Methods. Este es "Shuffle an array" y las instrucciones son:

Escribe la función shuffle(array) que baraja (reordena aleatoriamente) los elementos de la matriz.

No pude descifrarlo, así que lo busqué, pero ahora estoy luchando por entenderlo. ¿Qué hace el ".5 -" en la línea .5 - Math.random ?

 let arr = [1, 2, 3]; function shuffle(array) { return arr.sort((a, b) => .5 - Math.random()) } console.log(shuffle(arr))
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La devolución de llamada .sort sobre los elementos de la matriz y los ordenará según el valor devuelto por la devolución de llamada. Si se devuelve un número negativo, a se ordenará antes que b ; si se devuelve un número positivo, b se ordenará antes que a .

Math.random() devuelve un número entre 0 y 1. Si se resta de 0,5, obtienes un número aleatorio entre -0,5 y +0,5. Así que haciendo

 (a, b) => .5 - Math.random()

es una forma de hacer que la devolución de llamada devuelva un número positivo el 50 % de las veces y un número negativo el 50 % de las veces, y barajará aleatoriamente la matriz hasta cierto punto .

Dicho esto, "ordenar" de esta manera producirá resultados sesgados . Utilice un algoritmo mejor .

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