当转换为js对象时,javascript会混淆数组顺序

时间:2016-04-15 16:00:40

标签: 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"}

有没有办法强制脚本保留原始订单?

1 个答案:

答案 0 :(得分:0)

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