मैं निम्नलिखित जावास्क्रिप्ट वस्तु से मुसीबत this
को हटाने (एक विशिष्ट 'घटना') हो रहा है जब this
एक jQuery .each()
पाश से है।एक jQuery चाहते प्रत्येक में एक जावास्क्रिप्ट वस्तु से हटाएँ()
weatherData:
{
"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"
}
}
}
यह .each()
पाश की एक सिकुड़ा हुआ संस्करण है:
$.each(weatherData.events, function(i){
if(this.type == "One Time"){
delete weatherData.events[this];
}
})
बेहतर होगा कि तुम बस weatherData.events खाली हो सकता है (weatherData.events = {}), इसे हटाने के लिए कोशिश कर के बजाय। एक साक्षात्कार में वी 8 लेखकों में से एक के अनुसार मैंने हाल ही में सुना है, जब आप ऑब्जेक्ट के सदस्य को हटाते हैं, तो ऑब्जेक्ट को वापस हैश में परिवर्तित कर दिया जाता है, फिर किसी ऑब्जेक्ट पर वापस किया जाता है, जबकि किसी ऑब्जेक्ट के भीतर पुन: असाइनमेंट में ऑब्जेक्ट नहीं होता है-> हैश -> ऑब्जेक्ट प्रदर्शन दंड। – BrianFreud
यह अच्छी सलाह की तरह लगता है। मैं ऐसा करूँगा अगर मैं कुछ सामग्री को सहेजने की कोशिश नहीं कर रहा था। मैं केवल कुछ घटनाओं को हटा रहा था, उन सभी में से नहीं। मैं अपने पोस्ट को शुरुआती विवरण में अधिक विशिष्ट होने के लिए अपडेट करूंगा। – fishpen0