【发布时间】:2026-01-23 23:45:01
【问题描述】:
我正在尝试使用 Object.entries 将对象转换为键值对列表,然后循环每个条目,一切都很好,除了结果顺序与我给出的对象不同,然后是键就像 "06" 或 "01" 或者以 "0"
开头的这是在 NodeJs V10.16.0, UTF-8 字符集上测试的。
const obj1 = {
'01': "val1",
"06": "val6",
"13": "val13",
"88": "val88",
"100": "val100"
}
Object.entries(obj1).forEach(([k, v]) => {
console.log(k + "-" + v)
})
上面代码的结果是:
13-val13
88-val88
100-val100
01-val1
06-val6
我希望输出与我给出的对象的顺序相同,如下所示:
01-val1
06-val6
13-val13
88-val88
100-val100
只有当对象中的属性键以 "0" 开头的另一种类型的属性时才会发生这种情况。 请帮忙看看到底是什么?
【问题讨论】:
-
对象不需要维护属性的顺序。
-
这不是错误。 javascript的官方规范没有指定对象的键顺序
-
如果您想维护广告订单,请使用
Map。 -
@HaukurHaf 但是如果对象中的属性键不是以“0”开头,结果会很好,我在对象中给出的顺序将是相同的结果。
-
@Rizesky
i dont want to maintain the insertion order,你显然做,根据你的预期输出。
标签: javascript node.js object foreach