Usando las fat arrows de ES6:
Código Javascript
:
Ver originalvar quickSort = (function(s, f) {
return function qs(_) {
return _.length > 1 ?
[].concat(
qs(_[s](1)[f]((e) => e < _[0])),
_[0],
qs(_[s](1)[f]((e) => e >= _[0]))
) : _;
}
})('slice', 'filter');
quickSort([3, 2, 3, 4]); // [2, 3, 3, 4]
Revisando vi que las list comprehensions estan activas en Firefox:
Código Javascript
:
Ver originalfunction qs(xs) {
var x = xs.splice(0, 1);
return xs.length > 0 ? [].concat(
qs([i for (i of xs) if (i < x)]),
x,
qs([i for (i of xs) if (i >= x)])
) : x;
}
Edit: version corregida.