Answer
t.me/js_testОтвет:
const replacer = (key, value) => key != '' && value == meetup ? undefined : value;
Обьяснение:
Если key
не равняется пустой строке (при первом вызове replacer
- key===''
) и value
является ссылкой на meetup
- возвращаем undefined.
Код для проверки:
const room = { number: 23, }; const meetup = { title: 'Совещание', occupiedBy: [{ name: 'Иванов' }, { name: 'Петров' }], place: room, }; // цикличные ссылки room.occupiedBy = meetup; meetup.self = meetup; const replacer = (key, value) => key != '' && value == meetup ? undefined : value; console.log(JSON.stringify(meetup, replacer)); /* { "title":"Совещание", "occupiedBy":[{"name":"Иванов"},{"name":"Петров"}], "place":{"number":23} } */