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ş:
JQuery ile JavaScript nesne için form ...
Nasıl verimli bir şekilde anahtarları/...
Ne kadar boş bir Javascript nesnesi iç...
nasıl JavaScript bir nesne anahtarı ka...
Nasıl bir Tarih klon JavaScript için n...