如何将一个关联数组转换为一个排序的字符串数组?

8
如何将此js对象转换
 var obj1 =  {"user1":28, "user2":87, "user3":56};

把它转换成一个字符串数组,按值排序,就像这样:

["user2","user3","user1"]

2
在现代浏览器中,var sortedKeys = Object.keys(obj1).sort(); - Pointy
2
@Pointy 这样做不会按照键的值而是按照键的名称排序吗? - Luke
@Luke 哦哦,我明白了;没错,.sort()需要一个比较器来实现这个功能。 - Pointy
1个回答

10

使用这个:

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

输出:

["user2", "user3", "user1"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接