2015-05-25 12 views
8

Làm thế nào tôi có thể chuyển đổi này js đối tượngLàm thế nào để chuyển đổi một mảng kết hợp thành một mảng chuỗi được sắp xếp?

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

thành một mảng chuỗi, được sắp xếp theo giá trị, như vậy:

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

'var sortedKeys = Object.k eys (obj1) .sort(); 'trong các trình duyệt hiện đại. – Pointy

+2

@Pointy sẽ không sắp xếp các khóa theo tên của chúng chứ không phải giá trị của chúng? – Luke

+0

@Luke oh oh tôi thấy; đúng, '.sort()' sẽ cần một trình so sánh cho điều đó. – Pointy

Trả lời

10

Sử dụng này:

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); 

Output:

["user2", "user3", "user1"] 
Các vấn đề liên quan