如果以前已经回答过,请给我指出一个答案,但是找不到关于静态创建的对象的答案。
const foo = {
c: 'c',
b: 'b',
a: 'a'
};
使用像Object.keys()
这样的枚举时,键的顺序是否保证保持不变?
答案 0 :(得分:0)
对象不保留顺序-
ECMAScript对象是每个属性的无序集合 具有零个或多个确定每个属性的属性的属性 用过的
如果需要订购,请使用数组。
答案 1 :(得分:0)
简短的回答:否。传统上,对象不保证有关订单的任何内容。
现在,实际上,许多浏览器确实保留插入顺序,ES2015在某些情况下确实对插入顺序有一定保证。参见例如this similar question了解更多信息。
尽管如此,我还是建议您通过例如使用Map,或使用列表手动跟踪订单。