如果我有一个 JavaScript 对象,例如:
var list = {
"you": 100,
"me": 75,
"foo": 116,
"bar": 15
};
有没有办法根据价值对属性进行排序?所以我最终得到
list = {
"bar": 15,
"me": 75,
"you": 100,
"foo": 116
};
原文由 Steerpike 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我有一个 JavaScript 对象,例如:
var list = {
"you": 100,
"me": 75,
"foo": 116,
"bar": 15
};
有没有办法根据价值对属性进行排序?所以我最终得到
list = {
"bar": 15,
"me": 75,
"you": 100,
"foo": 116
};
原文由 Steerpike 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
将它们移动到一个数组中,对该数组进行排序,然后将该数组用于您的目的。这是一个解决方案:
一旦你有了数组,你可以按照你喜欢的顺序从数组中重建对象,从而完全实现你的目标。这适用于我所知道的所有浏览器,但它取决于实现的怪癖,并且可能随时中断。你永远不应该对 JavaScript 对象中元素的顺序做出假设。
在 ES8 中,您可以使用
Object.entries()
将对象转换为数组:在 ES10 中,您可以使用
Object.fromEntries()
将数组转换为对象。那么代码可以简化为: