У меня есть сложный файл JSON с массивами и объектами, содержащими массивы и объекты, примерно на 10 уровней. Я загружаю файл JSON в Node.js. Я пытаюсь написать функцию, которая ищет весь объект, включая все вспомогательные объекты и вспомогательные массивы, и удаляет любой ключ с определенным именем. Это то, что у меня есть:JavaScript JSON найти и удалить
function deleteKey(object, key) {
for(var property in object) {
if(property==key) {
delete object[property];
} else {
deleteKey(object[property], key);
}
}
}
Я получаю размер стека превышен. Есть ли способ лучше?
Только FWIW, к тому времени, как вы его обрабатываете, это уже не JSON. Это объекты и массивы. –
Я знаю. Наверное, я только что сказал JSON, чтобы уточнить, что я должен иметь возможность справляться с чем угодно. Я не знаю глубины или каких-либо других сведений о формате объекта. –
Вы не должны получать stackoverflow из рекурсивной обработки обычного JSON (т. Е. Не вложенного в тысячи уровней). – Bergi