SORU
13 NİSAN 2010, Salı


javascript iç içe nesne anahtarının varlığı için test

Eğer bir nesne için bir başvuru var

var test = {};

olacak potansiyel (ama hemen değil) iç içe nesneler, gibi bir şey var

{ level1:{level2:{level3:'level3'}} };

en fazla iç içe nesneleri anahtarlarını varlığı için test etmek için en iyi yolu nedir?

Bu -

alert(test.level1);

verir ama bu . tanımsız

alert(test.level1.level2.level3);

başarısız.

Şu anda böyle bir şey yapıyorum

if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
    alert(test.level1.level2.level3);
}

ama eğer daha iyi bir yolu varsa merak ettim.

CEVAP
27 EKİM 2010, ÇARŞAMBA


Burada 12 ** desen:

var level3 = (((test || {}).level1 || {}).level2 || {}).level3;
alert( level3 );

Aslında bu makalenin tamamını javascript bu nasıl bir tartışma. Bir deyim olarak yukarıdaki sözdizimi alışınca okumak o kadar zor değil () kullanarak o yerleşir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Metheud

    Metheud

    9 EYLÜL 2006
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013