Ver Mensaje Individual
  #101 (permalink)  
Antiguo 17/01/2014, 15:21
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Propuesta para desafíos javascript 2014

Cita:
Iniciado por Pantaláimon Ver Mensaje
Que en Javascript se transforma en un código desagradable de leer:
http://jsfiddle.net/jefebrondem/93qkp/
Usando las fat arrows de ES6:

Código Javascript:
Ver original
  1. var quickSort = (function(s, f) {
  2.     return function qs(_) {
  3.         return _.length > 1 ?
  4.             [].concat(
  5.                 qs(_[s](1)[f]((e) => e < _[0])),
  6.                 _[0],
  7.                 qs(_[s](1)[f]((e) => e >= _[0]))
  8.             ) : _;
  9.     }
  10. })('slice', 'filter');
  11.  
  12. quickSort([3, 2, 3, 4]); // [2, 3, 3, 4]

Revisando vi que las list comprehensions estan activas en Firefox:

Código Javascript:
Ver original
  1. function qs(xs) {
  2.     var x = xs.splice(0, 1);
  3.     return xs.length > 0 ? [].concat(
  4.         qs([i for (i of xs) if (i < x)]),
  5.         x,
  6.         qs([i for (i of xs) if (i >= x)])
  7.     ) : x;
  8. }
Edit: version corregida.
__________________
blog | @aijoona

Última edición por Aijoona; 17/01/2014 a las 21:54