Trier tableau de numérique & amp; éléments alphabétiques (Tri naturel)
Supposons que j'ai un tableau
var arr = [1,5,"ahsldk",10,55,3,2,7,8,1,2,75,"abc","huds"];
et j'essaie de faire le tri, j'obtiens quelque chose comme ...
[1, 1, 10, 2, 2, 3, 5, 55, 7, 75, 8, "abc", "ahsldk", "huds"]
avis 10 est avant 2, comment puis-je avoir quelque chose de plus comme
[1,1,2,2,3,5 ..., "abc", "ahs...",...]
source d'informationauteur Jiew Meng | 2010-12-07
Vous devez vous connecter pour publier un commentaire.
De http://snipplr.com/view/36012/javascript-natural-sort/ par mrhoo:
Ou, du Numérique: Javascript Naturel Algorithme de Tri par Brian Huisman:
//Plus naturel sortes sont pour le tri des chaînes,
donc 'file2' est trié avant "file10'.
Si vous êtes le mélange, en chiffres réels, vous devez les trier à l'avant du tableau,
parce que les nombres négatifs et de chiffres séparés par des traits d'union sont une douleur à interpréter.
Chaînes de caractères avec des zéros doivent être prudents, de sorte 'part002' trier avant "part010'.
tableau.de tri(natSort)
C'est un raffiné.
résultat: 1/1/2/2/3/5/7/8/10/55/56/75|abc|ahsldk|hud|
Si vous avez seulement alphabétique et les éléments entiers, que vous pouvez coller avec un code simple:
De travail exemple: http://jsfiddle.net/25X2e/
Si vous pouvez toujours supposer que les nombres et les chaînes de la particule alpha, je voudrais juste diviser et conquérir. tranche de numéros dans un nouveau tableau à l'aide de typeof. Trier à la fois indépendamment et ensuite il suffit de joindre les deux tableaux.