При переборе свойств объекта безопасно ли их удалять в цикле for-in?
Например:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
Во многих других языках итерация по массиву или словарю и удаление внутри, что небезопасно. Это нормально в JS?
(я использую Mozilla Spidermonkey Runtime.)