मैंने निम्न कोड को किसी ऑब्जेक्ट से "पॉप" करने के लिए लिखा था जैसे कि यह एक सरणी थी। इस कोड की तरह है कि जायेगा मुझे और अधिक गंभीर प्रोग्रामर द्वारा थप्पड़ मारा तरह लग रहा है, तो मैं सोच रहा था यह करने के लिए उचित तरीका है क्या:ऑब्जेक्ट से जावास्क्रिप्ट "पॉप"
// wrong way to pop:
for(key in profiles){
var profile = profiles[key]; // get first property
profiles[key] = 0; // Save over property just in case "delete" actually deletes the property contents instead of just removing it from the object
delete profiles[key]; // remove the property from the object
break; // "break" because this is a loop
}
मैं उपर्युक्त जाना चाहिए था, कि एक सच्चे "पॉप" के विपरीत , मुझे किसी विशेष क्रम में आने के लिए वस्तुओं की आवश्यकता नहीं है। मुझे बस एक निकालने की आवश्यकता है और इसे अपने मूल वस्तु से हटा दें।
लपेटें शरीर टूट जाता है JQuery एक 'अगर (profiles.hasOwnProperty (कुंजी में) {..' और ढीली' = 0' –
आप वास्तव में क्या करने की कोशिश कर रहे हैं? किसी ऑब्जेक्ट में जो पहली संपत्ति जोड़ा गया था उसे हटाएं? यह आवश्यक रूप से काम नहीं करेगा, जिस क्रम में 'for..in' लूप में गुणों को पुनर्प्राप्त किया गया है, इसकी गारंटी नहीं है। इसके अलावा आपको यह सुनिश्चित करने के लिए 'हैऑनप्रॉपर्टी' का उपयोग करना चाहिए कि यह प्रोटोटाइप का हिस्सा नहीं है, और आपको किसी ऑब्जेक्ट से किसी संपत्ति को निकालने के लिए 'हटाएं' के अलावा कुछ भी करने की आवश्यकता नहीं है। –