【发布时间】:2015-07-14 14:12:02
【问题描述】:
我知道在 JS 对象中不能保证键顺序,但是,我的数据结构来自我无法控制的后端。从以下位置出发时,我可以做些什么来保留密钥顺序:
var obj = {
foo: 'bar',
bar: 'foo'
};
到:
Object.keys(obj); // hoping for ['foo', 'bar']
不幸的是,我保持密钥顺序是最重要的......
【问题讨论】:
-
当密钥顺序本身不确定时,您希望如何维护密钥顺序? :S
-
不幸的是,确实不能保证属性排序。顺序将是任何它发生的事情。为什么它很重要?
-
@DanPantry 该对象是从 Python 后端发送的 JSON 中解析出来的……也许确实支持键顺序?
-
Python 做什么并不重要。
-
一旦对象越过 JSON 障碍,就无法保证您的属性的顺序(这是有道理的,因为您不能'真正'排序'属性)。将每个属性放入数组中自己的对象中并发送它可能更有意义。数组保留键顺序。即使您可以在对象转换为数组时保持对象的顺序,但对象的原始顺序无论如何都是不确定的,因此您永远无法定义对象的顺序无论如何。
标签: javascript