Answer
t.me/js_testОтвет:
replacer()
Объяснение:
В простых случаях циклических ссылок мы можем исключить свойство, из-за которого они возникают, из сериализации по его имени.
Но иногда мы не можем использовать имя, так как могут быть и другие, нужные, свойства с этим именем во вложенных объектах. Поэтому можно проверять свойство по значению.
Код для проверки:
let room = { number: 23 }; let meetup = { title: "Совещание", occupiedBy: [{name: "Иванов"}, {name: "Петров"}], place: room }; room.occupiedBy = meetup; meetup.self = meetup; alert( JSON.stringify(meetup, function replacer(key, value) { return (key != "" && value == meetup) ? undefined : value; }));