gpt4 book ai didi

javascript - 保持对象顺序

转载 作者:搜寻专家 更新时间:2023-11-01 00:35:01 24 4
gpt4 key购买 nike

我有一个 data.js 文件,其中包含如下对象:

var somedata = {
"": "test",
"51": "f",
"123": "test1",
"67": "test2",
"hello": "ghr",
...
}

module.exports = somedata;

不幸的是,这个对象被重新排序,这个顺序对于应用程序来说非常重要。在这一点上,有人建议使用 map

因此,它变成了:

var somedata = new Map(Object.entries({
"": "test",
"51": "f",
"123": "test1",
"67": "test2",
"hello": "ghr",
...
}))

module.exports = somedata;

啊好吧,那也没用(或者也许我只是没有得到 map )。因此,目前我构建了一个解决方法,我实际上使用正则表达式读取文件并将其放入 map 对象以保留对象顺序。不幸的是,随着 data.js 变得相当大,这种方法非常耗时。在这一点上,我觉得我看问题的方式是错误的。

我的问题:有没有办法以某种方式保持对象顺序?或者至少是比解析整个文件更快的解决方法?

最佳答案

您可以使用 map ,但如果您的输入是一个对象则不行。 Objects do not guarantee key order .您可以改为使用成对数组并从中构建映射。 Maps preserve insertion order :

const input = [
[42, "Alice"],
[30, "Bob"],
[14, "Carol"],
[39, "David"],
[41, "Edel"],
[2, "Fred"],
]

const map = new Map(input);

for(const [key, value] of map.entries()) {
console.log(key, value)
}

关于javascript - 保持对象顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55195533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com