SORU
17 Ocak 2013, PERŞEMBE


Javascript nesne yineleme

JavaScript bir nesne var:

{
    abc : '....',
    bca : '...',
    zzz : '...',
    xxx : '...',
    ccc : '...',
    .....
}

-Bir döngü özelliklerini elde etmek için kullanmak istiyorum. Ve parçalar aynı anda nesne özellikleri tüm () yineleme yapmak istiyorum.

Basit bir dizi ile döngü için bir standart ile yapabilirim:

for (i = 0; i < 100; i  ) { ... } // first part
for (i = 100; i < 300; i  ) { ... } // second
for (i = 300; i < arr.length; i  ) { ... } // last

Ama nasıl nesneleri ile bunu yapmak için?

CEVAP
17 Ocak 2013, PERŞEMBE


Çoğu nesneler için for .. in kullanın :

for (var key in yourobject) {
  console.log(key, yourobject[key]);
}

Kalıtsal özellikler günlüğü önlemek için, hasOwnProperty ile kontrol edin :

for (var key in yourobject) {
   if (yourobject.hasOwnProperty(key)) {
      console.log(key, yourobject[key]);
   }
}

This MDN documentation nesneler ve onların özellikleri ile başa çıkmak için nasıl daha genel olarak açıklar.

"Parçalar", en iyi dizi anahtarları için. bunu yapmak istiyorsan Sırası garanti değil, bu doğru yoldur. Modern tarayıcılarda kullanabilirsiniz

var keys = Object.keys(yourobject);

Daha uyumlu olması için, bunu yapmasaydın daha iyi olurdu :

 var keys = [];
 for (var key in yourobject) {      
     if (yourobject.hasOwnProperty(key)) keys.push(key);
 }

Sonra dizine göre özellikleri yineleme yapabilirsiniz: yourobject[keys[i]] :

for (var i=300; i<keys.length && i<600; i  ) { 
   console.log(keys[i], yourobject[keys[i]]);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • guau . .

    guau . .

    25 Ocak 2008
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009