Wie kann ich überprüfen, dass zwei Objekte denselben Eigenschaftsnamen haben?

Ich bin mit Knoten, mocha und chai für meine Anwendung. Ich möchte testen, ob meine Ergebnisse die data-Eigenschaft ist der gleiche "Typ des Objekts" als eines meiner model-Objekte. (Sehr ähnlich zu dem von chai ' s instanceof). Ich will einfach nur, um zu bestätigen, dass die beiden Objekte haben die gleichen Sätze mit den Namen der Eigenschaften. Ich bin zwar nicht daran interessiert, die tatsächlichen Werte der Eigenschaften.

Können sagen, ich habe das Modell Mensch wie unten. Ich möchte überprüfen, ob meine Ergebnisse.alle Daten die gleichen Eigenschaften wie das erwartete Modell funktioniert. Also in diesem Fall, die Person, die die hat eine firstName und lastName.

Also, wenn results.data.lastName und results.data.firstName beide existieren, dann sollte es wieder wahr. Wenn man entweder nicht vorhanden ist, sollte es false zurück. Ein bonus wäre es, wenn die Ergebnisse.Daten hat zusätzliche Eigenschaften wie Ergebnisse.Daten.Familienname, dann würde es wieder falsch, weil Nachname nicht vorhanden in Person.

Modell

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

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

InformationsquelleAutor der Frage dan27 | 2013-01-16

Schreibe einen Kommentar