this
bir jquery .each()
döngüden olduğunda ben aşağıdaki javascript nesneden sorun this
silme (belirli bir 'olay') yaşıyorum.bir jQuery .each bir javascript nesneden Bunu sil()
Hava Bilgisi:
{
"events":{
"Birthday":{
"type":"Annual",
"date":"20120523",
"weatherType":"clouds",
"high":"40",
"low":"30",
"speed":"15",
"direction":"0",
"humidity":"0"
},
"Move Out Day":{
"type":"One Time",
"date":"20120601",
"weatherType":"storm",
"high":"80",
"low":"76",
"speed":"15",
"direction":"56",
"humidity":"100"
}
},
"dates":{
"default":{
"type":"clouds",
"high":"40",
"low":"30",
"speed":"15",
"direction":"0",
"humidity":"0"
},
"20120521":{
"type":"clear",
"high":"60",
"low":"55",
"speed":"10",
"direction":"56",
"humidity":"25"
}
}
}
Bu .each()
döngünün bir küçülmüş versiyonu: Bir dize (özellik adı) beklenen bir nesne kullandığınız
$.each(weatherData.events, function(i){
if(this.type == "One Time"){
delete weatherData.events[this];
}
})
Sadece weatherData.events boşaltma daha iyi olabilir (weatherData.events = {}), silmeyi denemeden ziyade. Bir röportajda v8 yazarlarından birine göre son zamanlarda, bir nesnenin üyesini sildiğinizde, nesne bir karmaşa, sonra bir nesneye geri dönüştürülürken, bir nesne içinde yeniden atama nesneye sahip olmaz. -> nesne performans cezaları. – BrianFreud
Bu iyi bir tavsiye gibi geliyor. Eğer bazı içerikleri saklamak istemediysem yapardım. Sadece belirli olayları siliyordum, hepsini değil. Açılış açıklamasında daha spesifik olmak için yayınımı güncelleyeceğim. – fishpen0