2011-06-08 15 views
7

I içinde iki nesne ile ilişkilendirilebilir bir dizi vardır. Bunu $(myassoc).each() aracılığıyla çalıştırmak, geri arama sadece bir kez çalışır. Ayrıca, geri arama parametreleri (dizin ve nesne) sırasıyla 0 ve tüm ilişkisel diziyi döndürür.jQuery.each() ilişkisel dizilerle (nesneler) nasıl çalışır?

Bir indeksi ve nesne olarak doğru bir unsur olarak doğru tuşlara dönen, jQuery.each() Dizideki her öğeye aday beklenir.

Neden oluyor değil ve jQuery Peşinde olduğum ne yapabilirim?

+0

kodunu göstermek lütfen? '$ (obj) .each()' –

+1

ile iyi çalışıyor. $ .each'i denediniz mi? (myassoc, func ... '? –

+0

İçinde sadece iki nesne varsa (dizinin 2 tuşu), sadece iki tane olacak. iterasyonlar Eğer herbirini 'yapmak istediğiniz bu iki nesne' .each 'onlar için tekrar –

cevap

16

Denemek yerine .each ait jQuery.each()()

aradığınız düşünüyorum bu:

$.each(myassoc, function(index, value){ 
     //your code 
    }); 
7

bu deneyin:

$.each(assocarray,function(i, value){ 
    console.log('index: ' + i + ',value: ' + value); 
}); 
1

sorun olduğunu $.each() fonksiyon içten olduğunu iletilen koleksiyonun length özelliğini alır ve kullanır. Ancak hiçbir tamsayı indeksleri olan bir ilişkisel dizi yılındalength hep 0 gibi görünüyor. $.each() için şimdi yürüyecek bir şey yok gibi görünüyor.

$.each() fonksiyonu dahili olarak alır ve geçirilen koleksiyonun length özelliğini kullanır.

çözümler sadece yerine bir nesne kullanmaktır.

var myassoc = {};