2015-05-25 10 views
8

Come posso convertire questo js opporsiCome convertire un array associativo in un array di stringhe ordinato?

var obj1 = {"user1":28, "user2":87, "user3":56}; 

in un array di stringhe, in ordine di valore, in questo modo:

["user2","user3","user1"] 
+2

'var sortedKeys = Object.k eys (obj1) .sort(); 'nei browser moderni. – Pointy

+2

@Pointy non ordina le chiavi in ​​base al loro nome e non al loro valore? – Luke

+0

@Luke oh oh capisco; a destra, il '.sort()' avrebbe bisogno di un comparatore per questo. – Pointy

risposta

10

Utilizzare questa:

var obj1 = {"user1":28, "user2":87, "user3":56}; 
var a = Object.keys(obj1).sort(function(x,y){return obj1[y]-obj1[x]}) 
console.log(a); 

uscita:

["user2", "user3", "user1"] 
Problemi correlati