Поможете разобраться с JSON?

Мне вообще неясен этот код:
let room = {
  number: 23
};

let meetup = {
  title: "Conference",
  participants: [{name: "John"}, {name: "Alice"}],
  place: room // meetup ссылается на room
};

room.occupiedBy = meetup; // room ссылается на meetup

alert( JSON.stringify(meetup, function replacer(key, value) {
  alert(`${key}: ${value}`);
  return (key == 'occupiedBy') ? undefined : value;
}));


Не понимаю, что происходит здесь
alert( JSON.stringify(meetup, function replacer(key, value) {
  alert(`${key}: ${value}`);
  return (key == 'occupiedBy') ? undefined : value;
}));

Не понимаю последовательность работы этого кода... Поможете?
Благодарю!
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
документацию читали? Там про функцию replacer() (на англ.) всё подробно расписано. Перевод на Русский язык, к сожалению, упускает эти подробности.

Вкратце, эта функция вызывается для каждого значения и возвращает, что нужно переводить в строку. Если возвращает undefined, то это значение пропускается.

Т.е. в вашем примере пропустит свойство occupiedBy

P.S. желающие уделить время и написать полную русскоязычную версию страницы документации JSON.stringify() — добро пожаловать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы