Foros del Web » Programando para Internet » Javascript »

como ordenar un arreglo de objetos ?

Estas en el tema de como ordenar un arreglo de objetos ? en el foro de Javascript en Foros del Web. Hola a todos Necesito ordenar un conjunto de objetos para mostrarlos en un programa y tengo la siguiente estructura var escuelas = new Object; escuelas[0] ...
  #1 (permalink)  
Antiguo 09/02/2009, 09:59
 
Fecha de Ingreso: septiembre-2001
Mensajes: 186
Antigüedad: 23 años, 3 meses
Puntos: 0
como ordenar un arreglo de objetos ?

Hola a todos
Necesito ordenar un conjunto de objetos para mostrarlos en un programa y tengo la siguiente estructura

var escuelas = new Object;
escuelas[0] = 'centro 2';
escuelas[1] = 'zapatatec';
escuelas[2] = 'callUnited';
.
.
.
.
.

y cuando busco sobre la opcion de ordenacion encontre la siguiente URL
con excelente informacion sobre la funcion sort para arreglos

http://www.w3schools.com/jsref/jsref_sort.asp y alli me dan el siguiente emjemplo

Código:
var arr = new Array(6);
arr[0] = "Jani";
arr[1] = "Hege";
arr[2] = "Stale";
arr[3] = "Kai Jim";
arr[4] = "Borge";
arr[5] = "Tove";

document.write(arr + "<br />");
document.write(arr.sort());
yo creo que al usar la funcion sort de la siguiente manera

Código:
escuelas_organizadas=escuelas.sort();
me deberia entregar esos objetos organizados, pero no me funciona, alguien me puede dar una ayuda ?
Puede ser que con objetos es diferente a con arreglos ? y si es asi entonces como lo podria hacer ?

gracias por su ayuda.
__________________
Los mejores programadores de colombia estan aqui!!!!!
http://progcol.tripod.com
  #2 (permalink)  
Antiguo 09/02/2009, 14:00
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años
Puntos: 260
Sonrisa Respuesta: como ordenar un arreglo de objetos ?

Cita:
Iniciado por caliche Ver Mensaje
... Necesito ordenar un conjunto de objetos para mostrarlos en un programa y tengo la siguiente estructura

var escuelas = new Object;
escuelas[0] = 'centro 2';
escuelas[1] = 'zapatatec';
escuelas[2] = 'callUnited';
. ...
¿Y según ese ejemplo ... que crees que es un objeto?

Cita:
Iniciado por caliche Ver Mensaje
... Puede ser que con objetos es diferente a con arreglos ? y si es asi entonces como lo podria hacer ? ...
En el ejemplo anterior en escuelas[0] está almacenado un objeto de tipo String. sort() que existe únicamente en la clase Array; ordena en base al objeto convertido en String con el método toString de la clase Object.

Tus objetos (si realmente son objetos) deben sobre escribir el método toString del prototipo de la clase Object.

Código:
function ordenable (nombre) {
 this._nombre = nombre;
 this.toString = function () {
  return this._nombre;
 }
}
Y por supuesto para usar .sort() debes usar
var arr = new Array(6);
porque Array es el único que implementa sort.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:59.