Мне нужно JSON.stringify возможно циклический объект, что означает, что я должен предварительно обработать объект и удалить циклы. Я уже знаю n^2 indexOf solution. Учитывая, что javascript, кажется, не предоставляет идентификатор объекта или место памяти, а также общий хэш-код, есть ли способ ускорить проверку сдерживания?JSON.stringify циклический объект n^2
-1
A
ответ
1
Объект ES6 Set может отслеживать объекты, которые были просмотрены напрямую. Когда вы проходите через объект, вы помещаете каждый объект в Set, а затем простой objSet.has(obj)
расскажет, что вы уже столкнулись с этим объектом.
Работы, когда этот набор ES6 недоступен, обычно включают добавление неперечислимого уникально сгенерированного строкового ключа к каждому объекту, поэтому вы можете поместить его на обычную карту объектов, которая показана здесь в этом ES6 Set polyfill.
Смежные вопросы
- 1. JSON.stringify игнорирует вложенный объект
- 2. JSON.stringify создает пустой объект {}
- 3. JSON.stringify не сериализует объект
- 4. JSON.stringify (объект) некорректный
- 5. JSON.stringify отправляет пустой объект
- 6. Разбор Циклический объект от JSON
- 7. Node.js сервер: JSON.stringify глубокий объект
- 8. FormData: присвоить объект без JSON.stringify
- 9. Json.Stringify испортил мой объект даты
- 10. Сжатие {| n1, n2 | n1^n2} в Ruby
- 11. Как сравнить объекты JavaScript, содержащие циклический объект
- 12. JSON.stringify объект с KNOCKOUT JS переменные
- 13. Object.create, не исправить, когда JSON.stringify объект
- 14. Почему JSON.stringify на TypeError возвращает пустой объект
- 15. Преобразование JS объект JSON строка, используя JSON.stringify
- 16. Почему JSON.stringify испортил мой объект datetime?
- 17. nodejs json.stringify 1gb объект заканчивается из памяти
- 18. Javascript JSON.stringify объект, содержащий проблему массивы сериализации
- 19. JSON.stringify & DOMRect
- 20. Как JSON.parse() десериализовать сериализованный объект JSON.stringify, содержащий стробированный объект?
- 21. Создание веб-форм Приложение N2 CMS на основе шаблонов N2
- 22. Управление ролями в N2
- 23. N2 Настроить логин входа
- 24. Проблема с StringFormat «N2» (?
- 25. Оптимизация N2 CMS
- 26. JSON.stringify сериализует на [[]]
- 27. JSON.stringify ошибка в firefox
- 28. JSON.stringify возвращает пусто
- 29. Fiddler HttpRequest Composer - json.stringify
- 30. Wakanda JSON.stringify issue
Возможный дубликат [Сериализующий объект, содержащий значение циклического объекта] (http://stackoverflow.com/questions/9382167/serializing-object-that-contains-cyclic-object-value) – fixmycode
Объект ES6 'Set' может следить за просмотренными объектами напрямую. Рабочие процессы, когда это недоступно, обычно включают добавление неперечислимого уникально сгенерированного строкового ключа к каждому объекту, поэтому вы можете поместить его на обычную карту объектов, которая показана здесь на этом полифоне: https://github.com/jfriend00/ ES6-Set/blob/master/set.js – jfriend00
@ jfriend00 спасибо, это, наверное, то, что я искал. не возражаете ли вы сделать ответ? – erjoalgo