en ES2015, Javascript, pixelovers, Programación Funcional

Cómo ordenar aleatoriamente y agrupar (elegantemente) un array de elementos

En el bootcamp en el que estoy dando clases en Irlanda (Code Institute) hoy tocaba TDD 🙂

Para practicar TDD les he propuesto unas katas y he pensado que la mejor manera de practicar esto era que hicieran pair-programming y que cada hora cambiaran de compañero. Para decidir las parejas he decidido crear un pequeño script que re-ordenara de forma aleatoria un array con los nombres de los alumnos y que además, los agrupara por parejas (o en grupos de 3, de 4 o de lo que hiciera falta en cada momento).

Como en mi opinión creo que  ha quedado un código interesante y útil al ordenar aleatoriamente pasandole una función (bastante ingeniosa) al metodo sort(), y al agrupar utilizando el metodo reduce(), lo comparto aqui por si a alguien le puede ser de utilidad (aunque sólo sea desde el punto de vista didáctico)

Aqui teneis el codigo en ES2015

Y aqui el codigo en ES5 un poco más desarrollado y explicado

Y aqui podeis ver el código en acción

  • Enhanced version