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