J'ai un tableau comme celui-ci:
arr = []
arr[0] = "ab"
arr[1] = "abcdefgh"
arr[2] = "abcd"
Après le tri, le tableau de sortie doit être:
arr[0] = "abcdefgh"
arr[1] = "abcd"
arr[2] = "ab"
Je veux dire, je veux dans l'ordre décroissant de la longueur de chaque élément.
javascript
arrays
string
sorting
ramesh kumar
la source
la source
sort
est assez simple, où rencontrez-vous des difficultés?Réponses:
Vous pouvez utiliser la
Array.sort
méthode pour trier le tableau. Une fonction de tri qui considère la longueur de la chaîne comme critère de tri peut être utilisée comme suit:Remarque: le tri
["a", "b", "c"]
par longueur de chaîne n'est pas garanti["a", "b", "c"]
. Selon les spécifications :Si l'objectif est de trier par longueur, par ordre de dictionnaire, vous devez spécifier des critères supplémentaires:
la source
arr.sort((a, b) => b.length - a.length)
Nous pouvons utiliser la méthode Array.sort pour trier ce tableau.
Solution ES5
Solution ES6
Attention: tous les navigateurs ne comprennent pas le code ES6!
Dans ES6, nous pouvons utiliser des expressions de fonction de flèche .
la source
Voici le tri, en fonction de la longueur d'une chaîne avec javascript comme vous l'avez demandé:
[la solution du problème par le tri à bulles] [1]
[1]: http://jsfiddle.net/sssonline2/vcme3/2/
enter code here
la source
Sur la base de la réponse de Salman, j'ai écrit une petite fonction pour l'encapsuler:
alors appelle-le avec
Notez que malheureusement, les fonctions ne peuvent / ne doivent pas être ajoutées au prototype Array, comme expliqué sur cette page .
De plus, il a modifié le tableau passé en paramètre et ne renvoie rien. Cela forcerait la duplication du tableau et ne serait pas génial pour les grands tableaux. Si quelqu'un a une meilleure idée, faites un commentaire!
la source
J'ai adapté la réponse de @ shareef pour la rendre concise. J'utilise,
.sort(function(arg1, arg2) { return arg1.length - arg2.length })
la source
la source
Ce code devrait faire l'affaire:
la source
La fonction anonyme que vous passez pour trier lui indique comment trier le tableau donné. c'est quoi faire
la source