Ordenar de forma aleatoria los elementos de un array

19 de diciembre, 2023 | 3 minutos de lectura

Cuando trabajamos con arrays en JavaScript, a menudo surge la necesidad de ordenar sus elementos. Sin embargo, en ocasiones queremos mezclar los elementos de forma aleatoria en lugar de seguir un orden ascendente o descendente. En este art铆culo, exploraremos c贸mo lograr esto de manera sencilla y eficiente.

M茅todo de Mezcla Aleatoria con el Algoritmo de Fisher-Yates

Una de las t茅cnicas m谩s comunes y efectivas para ordenar aleatoriamente un array es el algoritmo de Fisher-Yates, tambi茅n conocido como el algoritmo de mezcla o shuffle. Este algoritmo es eficiente y garantiza una distribuci贸n uniforme de elementos aleatorios.

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
}
// Ejemplo de uso
const numeros = [1, 2, 3, 4, 5];
shuffleArray(numeros);
console.log(numeros);

Usando el metodo sort

El m茅todo sort es una funci贸n integrada en JavaScript que se utiliza para ordenar los elementos de un array. Por defecto, sort ordena los elementos alfab茅ticamente (si se trata de cadenas) o num茅ricamente. Sin embargo, podemos personalizar la funci贸n de comparaci贸n para lograr un ordenamiento aleatorio.

function ordenarAleatoriamente(array) {
  return array.sort(() => Math.random() - 0.5);
}