2011-02-03 22 views
12

Sorun: Chrome otomatik olarak nesnenin özelliklerini sıralar. Ben varsaChrome ve muhtemelen Opera nesne özelliklerini otomatik olarak sırala

gibi bir nesne: Ben önümüzdeki do ardından

var obj = {4: "first", 2: "second", 1: "third"}; 

:

for(var i in obj) { 
    console.debug(obj[i]); 
} 

sonraki bkz:

third second first

ama bekliyoruz:

first second third

+0

[Sıralama javascript'i özellik değerine göre sıralama] 'nın olası kopyası (http://stackoverflow.com/questions/1069666/sorting-javascript-by-property-value) –

cevap

18

özelliklerinin sipariş güvenmeyin. Sıralanmamışlar ve hangi sipariş özelliklerinin numaralandırılması gerektiğini tanımlayan bir özellik yoktur. Diğer tarayıcılar bunları ekleme sırasına göre sıralarken

Chrome orders properties with numeric keys numerically. Uygulamaya bağımlıdır.

+0

'Hangi sipariş özelliklerinin olması gerektiğini tanımlayan bir özellik yoktur numaralandırıldı ..... Bir fikrim var. Nasıl sipariş vereceğiz? – Gavin

5

for..in döngülerindeki tuşlar için herhangi bir özel sipariş beklememelisiniz. the MDC docs Gönderen:

A için ... keyfi bir sırayla

sayısal tuşları kullanarak sipariş istediğiniz takdirde, bir dizi kullanmak bir nesnenin özelliklerini üzerinde döngü yineler içinde.

+0

Thanx, ben yaptım. :) – setty

İlgili konular