2012-06-12 2 views
0
// 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'; 

Когда я прохожу через Exercise.mechanics, ключи выходят отсортированными. Как я могу получить несортированные ключи?Объект Javascript автоматически сортирует

Спасибо!

+1

Какого порядок? [DEMO] (http://jsfiddle.net/mplungjan/4L8r8/) – mplungjan

ответ

2

Ключи в hashmap не надежны. Дайте вам ключи на заказ. Например, поместите свои ключи в массив и повторите эти действия.

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

Я все еще слышу это, но я никогда не видел примера не получения FiFo – mplungjan

+0

Это зависит от реализаций. Мы должны следовать контрактам хэшмапа. Возможно, большинство хэш-карт FIFO, мы все равно не должны полагаться на это, поскольку это не контракт - он может легко прорваться в будущем. –

-1

Какой порядок вы ожидаете? Я получаю их маркированными в Fx и IE

3:Compound 
1:Isolation 
2:N/A 

используя этот код 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]) 
+0

должен быть хромированной: S – Garrett

Смежные вопросы