Функция replacer
Ответ:
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}
}
*/