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