English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文实例讲述了JS生成随机打乱数组的方法。分享给大家供大家参考,具体如下:
一、比较乱的排序方法
function fnLuanXu(num) { var aLuanXu=[]; for (var i = 0; i < num; i++) { aLuanXu[i] = i; } for (var i = 0; i < num; i++) { var iRand = parseInt(num * Math.random()); var temp = aLuanXu[i]; aLuanXu[i] = aLuanXu[iRand]; aLuanXu[iRand] = temp; //console.log('i='+i+';temp='+temp+';rand='+iRand+';array['+i+']='+aLuanXu[i]+';array['+iRand+']='+aLuanXu[iRand]+';array=['+aLuanXu+'];'); } return aLuanXu; } //Prueba: console.log(fnLuanXu(6))
Resultado de ejecución:
Método de ordenación no tan desordenado, función integrada de JavaScript.
function fnLuanXu(num) { var aLuanXu=[]; for (var i = 0; i < num; i++) { aLuanXu[i] = i; } aLuanXu.sort(function(){return Math.random()>0.5?-1:1;} return aLuanXu; } //Prueba: console.log(fnLuanXu(7))
Resultado de ejecución:
PS: Aquí también proporcionamos algunas herramientas en línea relacionadas para que los usuarios puedan referirse y usarlas:
Número aleatorio en línea/Herramienta de generación de cadenas de caracteres:
http://tools.jb51.net/aideddesign/suijishu
Herramienta de ordenación alfabética de chino e inglés en línea:
http://tools.jb51.net/aideddesign/zh_paixu
Herramienta de ordenación inversa de texto en línea:
http://tools.jb51.net/aideddesign/flipped_txt
Los lectores interesados en más contenido relacionado con JavaScript pueden consultar las secciones especiales de este sitio: Resumen de uso de operaciones matemáticas en JavaScript, Resumen de técnicas de estructuras de datos y algoritmos en JavaScript, Resumen de técnicas de operaciones de arrays en JavaScript, Resumen de algoritmos de ordenación en JavaScript, Resumen de técnicas de recorrido y trucos en JavaScript, Resumen de técnicas de búsqueda en JavaScript y Resumen de técnicas de errores y depuración en JavaScript
Espero que lo descrito en este artículo le sea útil para la programación de JavaScript.
Declaración: El contenido de este artículo se obtiene de la red, pertenece al autor original, el contenido se contribuye y carga por los usuarios de Internet de manera autónoma, este sitio no posee los derechos de propiedad, no se ha realizado una edición humana y no asume la responsabilidad de las responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, bienvenida su comunicación por correo electrónico: notice#w3Declaración: Si encuentra contenido sospechoso de infracción de derechos de autor, envíe un correo electrónico a: notice#w para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.