Cuando ocurre esto, el método habitual de ordenación sort() no sirve ya que nos los ordena en último lugar. Veamos un ejemplo:
var myarray = ['Álex', 'Juan', 'José', 'Antonio', 'Carlos']; myarray.sort(); // Queda ordenado como Antonio, Carlos, José, Juan, Álex
Para este tipo de caracteres necesitamos una función específica para ordenar, que podría convertirse en nuestro método sort() si nuestro alfabeto habitual lleva caracteres Unicode. Para realizar la ordenación UTF-8 tenemos que hacer lo siguiente:
var myarray = ['Álex', 'Juan', 'José', 'Antonio', 'Carlos']; myarray.sort(function(a,b){return a.localeCompare(b);}); // Queda ordenado como Álex, Antonio, Carlos, José, Juan
No hay comentarios:
Publicar un comentario