Comment puis-je obtenir un tableau inversé dans angulaire ? Je suis en train d’utiliser le filtre orderBy, mais il a besoin d’un attribut (par exemple « nom ») à trier :
Y a-t-il un moyen d’inverser le tableau d’origine, sans tri. Comme ça :
Comment puis-je obtenir un tableau inversé dans angulaire ? Je suis en train d’utiliser le filtre orderBy, mais il a besoin d’un attribut (par exemple « nom ») à trier :
Y a-t-il un moyen d’inverser le tableau d’origine, sans tri. Comme ça :
Je voudrais suggérer à l'aide d'un filtre personnalisé comme ceci:
app.filter('reverse', function() {
return function(items) {
return items.slice().reverse();
};
});
Qui peut alors être utilisé comme:
<div ng-repeat="friend in friends | reverse">{{friend.name}}</div>
Le voir travailler ici: Plunker de Démonstration
Ce filtre peut être personnalisé pour répondre à vos besoins en tant que juge. J'ai fourni d'autres exemples dans la démonstration. Certaines options comprennent la vérification que la variable est un tableau avant d'effectuer l'inverse, ou les rendre plus indulgent pour permettre la reprise de plus en plus de choses comme des cordes.
Désolé d'avoir cette place après une année, mais il y a une solution plus facile, mentionné dans les docs:
"Si aucune propriété n'est fournie (par exemple,'+'), alors l'élément du tableau lui-même est utilisé pour comparer les différences de tri". Donc, la solution sera:
ng-repeat="friend in friends | orderBy:'+':true"
Notez que cela fonctionne seulement dans Angulaire v1.3 et ultérieure.
Cette solution ne permet pas de modifier le tableau et n'a pas besoin d'autres ressources de calcul (au moins dans notre code). J'ai lu toutes les réponses existantes et préfèrent encore cette un.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.