Как я могу проверить, что два объекта имеют одинаковый набор имен свойств?
Я использую узел, мокко и чай для моего приложения. Я хочу проверить, совпадает ли мое свойство данных возвращаемых результатов "тип объекта " как один из моих модельных объектов. (Очень похоже на чай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;
}
}