Как работает функция соответствия в JSON?

Код:
let room = {
  number: 23
};

let meetup = {
  title: "Conference",
  participants: [{name: "John"}, {name: "Alice"}],
  place: room 
};

room.occupiedBy = meetup;

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


Почему в return (key == 'occupiedBy') ? undefined : value; valueвозвращает весь объект разом, а не только значения? Ведь value- значение.
И почему удалив строчку return (key == 'occupiedBy') ? undefined : value; код прекращает выводить ключи и значения?
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
На оба вопроса ответ один - первым в replacer передаётся весь объект целиком. Поэтому он и выводится, а если убрать return, то дальше обработка и не идёт.
Я же вам отвечал уже на этот вопрос: https://qna.habr.com/answer?answer_id=2165468#answ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы