javascript在转换为js对象时打乱数组顺序

标签 javascript arrays

我在数组中得到了这个子数组:

["sizes"] array(3) {
["6.5"] "yes"
[7] "no"
["7.5"] "yes"
}

我将此数据作为 json 与其他内容一起发送到脚本,将其转换为 js 对象:

var sizes = obj.items[i].sizes;

然后发生的事情是生成的对象顺序困惑,我得到这样的结果:

Object {7: "no", 6.5: "yes", 7.5: "yes"}

而不是:

Object {6.5: "yes", 7: "no", 7.5: "yes"}

有没有办法强制脚本保留原始顺序?

最佳答案

ES6 在一定程度上指定了对象键顺序,如下所示:

http://www.2ality.com/2015/10/property-traversal-order-es6.html

如果您使用的是 ES3 或 ES5,或者您不喜欢 ES6 顺序,那么最好使用 ES6 MAP polyfill 来为您提供服务。

根据ES6 Map Specs键按插入顺序返回。

A shim to look at

关于javascript在转换为js对象时打乱数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36651850/

相关文章:

c# - 在 c# 中根据其子元素对 arraylist 进行排序

c# - 高效获取数组子集

javascript - 简单的 Javascript div 淡入不起作用

javascript - 用从某个 URL 检索到的数据替换整个 html-body 内容

javascript - Mongoose 中的回调函数

c++ - 如何使用相同的调用签名在张量中索引和分配元素?

php - 从 SQL 数组中检索所有数据(类似于给定值)

javascript - 将一组 JSON 对象从 Google 表格传递到 HTML 服务

javascript - 从用户输入字符串添加对数组的引用

java - 根据Java中的单词长度将常见英语单词数组拆分为单独的列表/数组