Mezclador de matriz
Mezcla elementos en una matriz de JavaScript usando el algoritmo de Fisher-Yates
Entrada
Salida
Leerme
Descripción de la herramienta
Una herramienta para mezclar aleatoriamente elementos en un array de JavaScript utilizando el algoritmo de mezcla Fisher-Yates. El algoritmo Fisher-Yates asegura una distribución aleatoria uniforme de elementos, convirtiéndolo en el estándar de oro para mezclar arrays.
Características
- Algoritmo Fisher-Yates: Utiliza el probado algoritmo de mezcla Fisher-Yates (Knuth) para aleatorización imparcial
- Entrada de Array JSON: Acepta arrays en formato JSON con cualquier tipo de datos válido de JavaScript
- Mezcla en Tiempo Real: Mezcla automáticamente el array mientras escribe
- Botón de Mezcla Manual: Haga clic en el botón de mezcla para generar un nuevo orden aleatorio
- Preserva Tipos de Datos: Mantiene todos los tipos de datos originales (strings, numbers, booleans, objects, arrays, null)
- Manejo de Errores: Mensajes de error claros para JSON no válido o entradas que no son arrays
Casos de Uso
- Pruebas y Desarrollo: Genere órdenes aleatorios de datos de prueba para pruebas unitarias e integración
- Desarrollo de Juegos: Mezcle mazos de cartas, aleatorice preguntas de cuestionarios o cree órdenes de encuentros aleatorios
- Análisis de Datos: Aleatorice conjuntos de datos para muestreo estadístico o pruebas A/B
- Diseño UI/UX: Cree listas aleatorizadas para displays de carrusel, listas de reproducción mezcladas o feeds de contenido aleatorios
- Aprendizaje de Algoritmos: Estudie y comprenda el algoritmo de mezcla Fisher-Yates en acción
- Seguridad: Genere ordenamientos aleatorios para pools de caracteres de contraseñas o tokens de seguridad
¿Qué es el Algoritmo Fisher-Yates?
El algoritmo de mezcla Fisher-Yates (también conocido como mezcla Knuth) es un algoritmo para generar una permutación aleatoria de una secuencia finita. Se ejecuta en tiempo O(n) y está probado que produce una mezcla imparcial donde cada permutación es igualmente probable.
El algoritmo funciona iterando a través del array desde el último elemento hasta el primero, y para cada posición, intercambiando el elemento actual con un elemento elegido aleatoriamente de la porción no procesada restante del array (incluyéndose a sí mismo).