PC & Mobile

Différents moyens de trier un tableau dans Typescript

Différents moyens de trier un tableau dans Typescript


Dans ce didacticiel Typescript, nous verrons comment trier des tableaux à l'aide de typescript

à la fin de ce petit tutoriel, vous saurez

Comment fonctionne le tri matriciel en dactylographie
Utilisation du tableau en lecture seule
fonction de tri type de retour
tris sensibles à la casse
Fonction de comparaison

Voyons comment nous pouvons trier un tableau en dactylographie. Supposons que nous ayons un tableau mentionné ci-dessous et que je souhaite le trier. Le moyen le plus simple est le []Fonction de tri.

arr = ['vue','angular','react']
console.log (arr.sort ())
//résultat
//['angular','react','vue']

La partie surprenante est donc que la fonction de tri a manipulé notre tableau d'origine. Il ne retourne pas un nouveau tableau. Au lieu de cela, il réorganise notre tableau d'origine.

Examinons à nouveau le résultat et essayons d’enregistrer le tableau d’origine.

arr = ['vue','angular','react']
console.log (arr.sort ())
console.log (arr)
//résultat
//['angular','react','vue']
//['angular','react','vue']

Parfois, en réalité, nous ne voulons pas manipuler le tableau d'origine. Nous voulons plutôt qu’il retourne un nouveau tableau et c’est là que nous le coupons avant la fonction de tri.

laissez newarr = arr.slice (). sort ();
console.log ({... arr})
console.log ({... newarr})
//résultat
//['vue','angular','React']
//['React','angular','vue']

Une autre façon d'éviter de manipuler le tableau d'origine consiste à utiliser des tableaux en lecture seule. Les tableaux en lecture seule entrent en action si nous marquons notre tableau comme étant en lecture seule. Nous ne sommes pas autorisés à appeler les fonctions qui peuvent les manipuler après ce moment.

laisser arr: ReadonlyArray= ['vue','angular','React'];
laissez newarr = arr.slice (). sort ();
console.log ({... arr})
console.log ({... newarr})
//résultat
//['vue','angular','React']
//['React','angular','vue']

Lorsque nous appelons la fonction de tri, nous trions le tableau par ordre alphabétique. Cependant, la méthode de tri par défaut est sensible à la casse. Cela signifie qu'il trie d'abord alphabétiquement toutes les lettres majuscules [A-Z], et seulement après cela, il trie les lettres minuscules [a-z]. Nous pouvons le voir dans l'exemple ci-dessus. Même si "a" vient avant "R", l'ordre du nouveau tableau commence par "React", car il est capitalisé, suivi de "angular" et "vue". Il faut garder cela à l’esprit si nous voulons trier la liste par ordre alphabétique. Il peut être intéressant de convertir tous les caractères d’une chaîne en minuscules en premier.

Maintenant, le code ci-dessus fonctionnera si les types d'élément de tableau sont des chaînes. Mais pour les objets complexes, il existe une approche différente. Disons que nous avons un tableau d’objets et que nous voulons trier une propriété spécifique. Ensuite, dans ce cas, nous devrons passer un paramètre à la fonction de tri qui est une fonction qui accepte deux choses. Le premier est la première valeur du tableau et le suivant est la valeur suivante de ce tableau et nous pouvons ensuite renvoyer un.[specificproperty] - b.[specificproperty]. Prenons un exemple:

laisser arr =[{[{
nom: 'jhon', année: 1990
},
{
nom: 'kasey', année: 1985
},
{
nom: 'jhony', année: 1980
},
{
nom: 'lily', année: 1975
}]

arr.sort ((a, b) => {
retour a.year - b.year
})

La fonction de tri des tableaux réorganise le tableau et renvoie le même tableau. Il ne retourne pas un nouveau tableau. Il est sensible à la casse, donc les majuscules seront triées avant les minuscules. Pour les objets complexes, nous devons passer une méthode de comparaison dans laquelle nous pouvons trier le tableau selon une propriété spécifique.

Afficher plus

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Articles similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer