Essayez d'utiliser une bibliothèque externe comme trait de soulignement
var f = _.compose(_.uniq, function(array) {
return _.sortBy(array, _.identity);
});
var sortedUnique = f(array);
Cela dépend de l' _.compose
, _.uniq
, _.sortBy
, _.identity
Voir le live exemple
Qu'est-ce que ça fait?
Nous voulons une fonction qui prend un tableau et renvoie un tableau trié à la non-entrées uniques supprimé. Cette fonction doit faire deux choses, le tri et la création d'une pile unique.
C'est un bon travail de composition, de sorte que nous composons l'unique et la fonction de tri ensemble. _.uniq
peut seulement être appliquée sur le tableau avec un argument, alors il est juste passé de _.compose
l' _.sortBy fonction des besoins de tri conditionnelle fonctionnelle. il s'attend à une fonction qui retourne une valeur et le tableau sera trié sur cette valeur. Puisque la valeur que nous commandez en est la valeur dans le tableau, on peut juste passer le _.fonction identité.
Nous avons maintenant une composition d'une fonction qui (prend un tableau et renvoie une gamme unique) et une fonction qui (prend un tableau et renvoie un tableau trié, triés par leurs valeurs).
Nous avons il suffit d'appliquer la composition sur le tableau et nous avons notre unique tableau trié.