按不同键对javascript数组对象排序
我已经寻找了一段时间,想要一种对Javascript对象进行排序的方法,如下所示:按不同键对javascript数组对象排序,javascript,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"}] 请提出任何解决方案此问题已在此处得到回答: 基本上,您无法对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"}]
请提出任何解决方案此问题已在此处得到回答: 基本上,您无法对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'}]
。这是您所能做的最好的了。实际上,您可以对其进行排序,但前提是您的键是数字字符串
在这里您可以看到其他解决方案
无法对javascript对象进行排序。对对象属性进行排序毫无意义。这完全无关。你是说JSON吗?我想这里最重要的问题是为什么?