按不同的键对javascript数组对象进行排序

时间:2016-08-09 13:27:27

标签: javascript

我一直在寻找一段时间,想要一种方法来对这样的Javascript对象进行排序:

[{"a":"111","C":"333","B":"222"},{{"A":"111","C":"333","B":"222"}]

并按名称按字母顺序排序:

[{"a":"111","B":"222","C":"333"},{{"A":"111","B":"222","C":"333"}]

请建议任何解决方案

2 个答案:

答案 0 :(得分:1)

这个问题已在这里得到解答:

Sort Keys in Javascript Object

基本上,您无法对JavaScript对象中的键进行排序。它们是无序的。您可以将其视为哈希。您必须将其提取到数组中才能进行排序。

var obj = {a: 'Hi', b: 'There'};
Object.keys(obj).sort().map(k => { 
  var foo = {}; 
  foo[k] = obj[k]; 
  return foo; 
});

这会给你一个如下所示的数组:[{a: 'Hi'}, {b: 'There'}]。这就是你能做到的最好的事情。

答案 1 :(得分:0)

实际上你可以对它进行排序,但前提是你的密钥是数字字符串。

在这里你可以看到其他解决方案

Sorting JavaScript Object by property value