¿Cómo barajar una array usando JavaScript?

Barajar una array o una lista significa que reorganizamos aleatoriamente el contenido de esa estructura. Para barajar una array usaremos los siguientes algoritmos:

javascript

function shuffleArray(array) {
   for (var i = array.length - 1; i > 0; i--) {
   
       // Generate random number
       var j = Math.floor(Math.random() * (i + 1));
                   
       var temp = array[i];
       array[i] = array[j];
       array[j] = temp;
   }
       
   return array;
}

Ejemplo: 

html

<!DOCTYPE html>
<html>
 
<head>
    <title>Shuffle array</title>
</head>
 
<body>
     
 
<p>Array is=[1, 2, 3, 4, 5, 6, 7]</p>
 
 
     
    <button onclick="show()">
        click
    </button>
     
    <script>
 
        // Function to shuffle the array content
        function shuffleArray(array) {
            for (var i = array.length - 1; i > 0; i--) {
 
                // Generate random number
                var j = Math.floor(Math.random() * (i + 1));
 
                var temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
 
            return array;
        }
 
        // Function to show the result
        function show() {
            var arr = [1, 2, 3, 4, 5, 6, 7]
            var arr1 = shuffleArray(arr)
 
            document.write("After shuffling: ", arr1)
        }
    </script>
</body>
 
</html>

Producción:  

  • Antes de hacer clic en el botón: 
     

  • Después de hacer clic en el botón: 
     

Pasar una función que devuelve (valor aleatorio – 0,5) como comparador de la función de clasificación, para clasificar los elementos de forma aleatoria. 

Javascript

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

Ejemplo: 

HTML

<!DOCTYPE html>
<html>
 
<head>
    <title>Shuffle array</title>
</head>
 
<body>
     
 
<p>Array is=[1, 2, 3, 4, 5, 6, 7]</p>
 
  
     
    <button onclick="show()">
        click
    </button>
     
    <script>
 
        // Function to shuffle the array content
        function shuffleArray(array) {
           return array.sort( ()=>Math.random()-0.5 );
        }
 
        // Function to show the result
        function show() {
            var arr = [1, 2, 3, 4, 5, 6, 7]
            var arr1 = shuffleArray(arr)
 
            document.write("After shuffling: ", arr1)
        }
    </script>
</body>
 
</html>

 Producción:  

  • Antes de hacer clic en el botón:
     

  • Después de hacer clic en el botón:
     

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *