Duplicar posible:
How to sort an associative array by its values in Javascript?¿Cómo ordenar una matriz (asociativa) por valor?
Así que antes que nada sé técnicamente Javascript no tiene matrices asociativas, pero no estaba seguro de cómo titularlo y obtener la idea correcta en todo .
Así que aquí es el código que tengo,
var status = new Array();
status['BOB'] = 10
status['TOM'] = 3
status['ROB'] = 22
status['JON'] = 7
y quiero ordenar por valor tal que cuando bucle a través de él más adelante ROB
es lo primero, y luego BOB
, etc.
I Lo he intentado,
status.sort()
status.sort(function(a, b){return a[1] - b[1];});
Pero ninguno de ellos parece realmente HACER nada.
Al imprimir la matriz en la consola antes y después, resulta que sale en el mismo orden.
Ese es el mal uso de las matrices de JS. Solo use teclas numéricas con matrices. '.sort' no hace nada porque estrictamente hablando su matriz no tiene ningún elemento. Tienes que usar objetos en este caso. Recomiendo leer [MDN - Trabajar con objetos] (https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects). –
También: [Ordenando objeto JavaScript por valor de propiedad] (http://stackoverflow.com/questions/1069666/sorting-javascript-object-by-property-value). –
Aunque se marcó como duplicado, la (s) solución (es) presentada (s) a continuación no se mencionan en el duplicado. – PopeJohnPaulII