简体   繁体   English

Javascript对象自动排序

[英]Javascript object automatically sorts

// mechanics
MECHANICS_ISOLATION : 1,
MECHANICS_NA : 2,
MECHANICS_COMPOUND : 3,

// mechanics
Exercise.mechanics = {};
Exercise.mechanics[Exercise.MECHANICS_COMPOUND] = 'Compound';
Exercise.mechanics[Exercise.MECHANICS_ISOLATION] = 'Isolation';
Exercise.mechanics[Exercise.MECHANICS_NA] = 'N/A';

When I loop through Exercise.mechanics , the keys come out sorted. 当我遍历Exercise.mechanics ,按键会排序。 How can I get the unsorted keys to loop through? 我如何才能使未排序的密钥循环通过?

Thanks! 谢谢!

Keys in a hashmap is not reliable. 哈希图中的键不可靠。 Give you keys an order. 给您钥匙订购。 For example, put your keys into an array and iterate the keys. 例如,将您的密钥放入数组并迭代密钥。

var keys = [MECHANICS_ISOLATION, MECHANICS_NA, MECHANICS_COMPOUND];
for (var i = 0; i < keys.length; i++) {
    console.log(Exercise.mechanics[keys[i]]);
}

What is the order you expect? 您期望的顺序是什么? I get them un-ordered in Fx and IE 我在Fx和IE中使它们无序

3:Compound
1:Isolation
2:N/A 

using this code DEMO 使用此代码演示

Exercise = {
// mechanics
MECHANICS_ISOLATION : 1,
MECHANICS_NA : 2,
MECHANICS_COMPOUND : 3,
    }

// mechanics
Exercise.mechanics = {};
Exercise.mechanics[Exercise.MECHANICS_COMPOUND] = 'Compound';
Exercise.mechanics[Exercise.MECHANICS_ISOLATION] = 'Isolation';
Exercise.mechanics[Exercise.MECHANICS_NA] = 'N/A';

for (ex in Exercise.mechanics) document.write("<hr>"+ex+":"+Exercise.mechanics[ex])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM