जब किसी वस्तु के गुणों के बारे में अधिक जानकारी प्राप्त होती है, तो क्या फॉर-इन लूप में उन्हें हटाना सुरक्षित होता है?
उदाहरण के लिए:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
कई अन्य भाषाओं में किसी सरणी या शब्दकोश पर चलना और उसके अंदर हटाना असुरक्षित है। क्या यह जेएस में ठीक है?
(मैं मोज़िला स्पिडरमोनकी रनटाइम का उपयोग कर रहा हूं।)