Показать сообщение отдельно
  #1 (permalink)  
Старый 17.06.2020, 16:04
Аспирант
Отправить личное сообщение для oleg901 Посмотреть профиль Найти все сообщения от oleg901
 
Регистрация: 12.08.2018
Сообщений: 54

Error maximum call stack size exceeded
Доброго времени суток, есть большой объект на полторы тысячи строк в нем есть вложенные обьекты. Есть рекурсивная функция которая переберает все поля включая вложеные и меняет значения полей совпадения которых были найдены на пустую строку. Какое именно поле будет пустым, передается вторым параметорм функции первым параметром передается сам объект. Вот функция:

function clearPropertiesInObject(obj, value) {
        let result = getProp(obj, value);
        function getProp(obj, value) {
            for (let prop in obj) {
                if (typeof obj[prop] === 'object') {
                        getProp(obj[prop], value)
                } else if (prop === value) obj[prop] = '';
            }
            return obj;
        }
        return result;
    }


    let newObj = clearPropertiesInObject(obj, "email");
    }


Тестировал ее в html файле и браузере вместе с объектом работает корректно попробовал забросить на бэкенд (node js) в проект пишет Error maximum call stack size exceeded подскажите как обойти и в чем проблема? Почему в браузере не выводит переполнение стэка, а нода выводит ходя движки одинаковые. Тестировал html файл в хроме
Ответить с цитированием