Как я могу проверить, что два объекта имеют одинаковый набор имен свойств?

Я использую узел, мокко и чай для моего приложения. Я хочу проверить, совпадает ли мое свойство данных возвращаемых результатов "тип объекта " как один из моих модельных объектов. (Очень похоже на чайs instanceof). Я просто хочу подтвердить, что два объекта имеют одинаковые наборы имен свойств.Меня конкретно не интересуют фактические значения свойств.

Допустим, у меня есть модель Person, как показано ниже. Я хочу проверить, что мой файл results.data имеет те же свойства, что и ожидаемая модель. Таким образом, в этом случае, Person, который имеет firstName и lastName.

Так что еслиresults.data.lastName а такжеresults.data.firstName оба существуют, тогда оно должно вернуть true. Если один из них неt существует, он должен вернуть false. Бонус будет в том случае, если results.data имеет какие-либо дополнительные свойства, такие как results.data.surname, тогда он вернет false, потому что фамилия не делаетне существует в человеке.

модель

function Person(data) {
  var self = this;
  self.firstName = "unknown";
  self.lastName = "unknown";

  if (typeof data != "undefined") {
     self.firstName = data.firstName;
     self.lastName = data.lastName;
  }
}

Ответы на вопрос(6)

Ваш ответ на вопрос