2つのオブジェクトが同じプロパティ名のセットを持っていることを確認するにはどうすればよいですか?

dan27:

アプリケーションにnode、mocha、chaiを使用しています。返された結果のデータプロパティが、モデルオブジェクトの1つと同じ「オブジェクトのタイプ」であることをテストしたいと思います(chaiのインスタンスに非常に似ています)。2つのオブジェクトのプロパティ名のセットが同じであることを確認したいだけです。プロパティの実際の値には特に興味がありません。

以下のようなモデルPersonがあるとします。私のresults.dataに、予想されるモデルと同じプロパティがすべて含まれていることを確認したいと思います。したがって、この場合、firstNameとlastNameを持つPersonです。

したがってresults.data.lastNameresults.data.firstName両方が存在する場合は、trueを返す必要があります。どちらかが存在しない場合は、falseを返します。ボーナスは、results.dataにresults.data.surnameのような追加のプロパティがある場合、Personに姓が存在しないため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;
  }
}
Casey Foster:

単純なデータをシリアル化して、等しいかどうかを確認できます。

data1 = {firstName: 'John', lastName: 'Smith'};
data2 = {firstName: 'Jane', lastName: 'Smith'};
JSON.stringify(data1) === JSON.stringify(data2)

これはあなたに何かを与えるでしょう

'{firstName:"John",lastName:"Smith"}' === '{firstName:"Jane",lastName:"Smith"}'

機能として...

function compare(a, b) {
  return JSON.stringify(a) === JSON.stringify(b);
}
compare(data1, data2);

編集

あなたが言うようにチャイを使っているなら、http://chaijs.com/api/bdd/#equal-sectionをチェックしてください

編集2

キーを確認したいだけの場合...

function compareKeys(a, b) {
  var aKeys = Object.keys(a).sort();
  var bKeys = Object.keys(b).sort();
  return JSON.stringify(aKeys) === JSON.stringify(bKeys);
}

それを行う必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

オブジェクトのプロパティ名が存在することを確認するにはどうすればよいですか?

分類Dev

javascriptで同じIDを持っている場合、配列内のすべてのプロパティの2つのオブジェクトをマージするにはどうすればよいですか?

分類Dev

JSONスキーマ:配列に、指定された値を持つプロパティを持つオブジェクトが少なくとも1つ含まれていることを確認するにはどうすればよいですか?

分類Dev

オブジェクトのプロパティがゲッターかセッターかを確認するにはどうすればよいですか?

分類Dev

postmanテストを使用して、API応答の1つのノードがすべてのオブジェクトで同じ値を持っているかどうかを確認するにはどうすればよいですか?

分類Dev

同じプロパティを持つオブジェクトを単一の配列にマージするにはどうすればよいですか?

分類Dev

オブジェクトが別のオブジェクトのプロパティにプロパティとしてネストされているかどうかを確認するにはどうすればよいですか?

分類Dev

オブジェクトとそのプロパティが存在するかどうかを確認するにはどうすればよいですか?

分類Dev

非オブジェクトのプロパティを取得しようとしています->オブジェクトが存在することを確認するにはどうすればよいですか

分類Dev

同じプロパティ値を持つオブジェクトの配列を配置するにはどうすればよいですか?

分類Dev

Kotlinで2つのオブジェクトが同じクラスを持っているかどうかを確認するにはどうすればよいですか?

分類Dev

2つのJavaScriptオブジェクトが同じキーを持っているかどうかを確認するにはどうすればよいですか

分類Dev

同じID(または他の属性)を持つオブジェクトがオブジェクトの配列に存在することを確認するにはどうすればよいですか?

分類Dev

JavaScriptでオブジェクトに特定のプロパティがあるかどうかを確認するにはどうすればよいですか?

分類Dev

Javascriptオブジェクトのメソッドとそのプロパティが同じ名前を共有している場合、それらを区別するにはどうすればよいですか?

分類Dev

getDerivedStateFromPropsで両方が同じ名前であるかどうかを繰り返すことによって2つのオブジェクトの値を比較するにはどうすればよいですか?

分類Dev

同じ名前の複数のプロパティをオブジェクトに追加するにはどうすればよいですか?

分類Dev

ExceptionオブジェクトのInnerExceptionプロパティがnullかどうかを確認するにはどうすればよいですか?

分類Dev

Luaで2つのテーブル(オブジェクト)が同じ値を持っているかどうかを確認する方法

分類Dev

2つのハッシュマップに同じIDのオブジェクトが含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

特定の配列にある値に等しいプロパティを持つオブジェクトが含まれているかどうかを確認するために角度テンプレートを配置するにはどうすればよいですか?

分類Dev

オブジェクトの配列が同じキーに対して同じ値を持っているかどうかを確認するにはどうすればよいですか?

分類Dev

クラスのサイズがゼロなのはなぜですか?異なるオブジェクトが異なるアドレスを持っていることを確認するにはどうすればよいですか?

分類Dev

クラスのサイズがゼロなのはなぜですか?異なるオブジェクトが異なるアドレスを持っていることを確認するにはどうすればよいですか?

分類Dev

isCheckedやisSelectedのようなプロパティがない場合、分度器でチェックボックスがオンまたはオフになっていることを確認するにはどうすればよいですか?

分類Dev

SPARQLを使用して、2つのプロパティが同じオブジェクトを共有していないインスタンスを見つけるにはどうすればよいですか?

分類Dev

format-listと同じ順序でPowerShellオブジェクトのプロパティを取得するにはどうすればよいですか?

分類Dev

オブジェクトが特定のプロパティを持っていることを簡潔に主張するにはどうすればよいですか?

分類Dev

配列に特定のプロパティの値を持つオブジェクトが含まれているかどうかを確認します

Related 関連記事

  1. 1

    オブジェクトのプロパティ名が存在することを確認するにはどうすればよいですか?

  2. 2

    javascriptで同じIDを持っている場合、配列内のすべてのプロパティの2つのオブジェクトをマージするにはどうすればよいですか?

  3. 3

    JSONスキーマ:配列に、指定された値を持つプロパティを持つオブジェクトが少なくとも1つ含まれていることを確認するにはどうすればよいですか?

  4. 4

    オブジェクトのプロパティがゲッターかセッターかを確認するにはどうすればよいですか?

  5. 5

    postmanテストを使用して、API応答の1つのノードがすべてのオブジェクトで同じ値を持っているかどうかを確認するにはどうすればよいですか?

  6. 6

    同じプロパティを持つオブジェクトを単一の配列にマージするにはどうすればよいですか?

  7. 7

    オブジェクトが別のオブジェクトのプロパティにプロパティとしてネストされているかどうかを確認するにはどうすればよいですか?

  8. 8

    オブジェクトとそのプロパティが存在するかどうかを確認するにはどうすればよいですか?

  9. 9

    非オブジェクトのプロパティを取得しようとしています->オブジェクトが存在することを確認するにはどうすればよいですか

  10. 10

    同じプロパティ値を持つオブジェクトの配列を配置するにはどうすればよいですか?

  11. 11

    Kotlinで2つのオブジェクトが同じクラスを持っているかどうかを確認するにはどうすればよいですか?

  12. 12

    2つのJavaScriptオブジェクトが同じキーを持っているかどうかを確認するにはどうすればよいですか

  13. 13

    同じID(または他の属性)を持つオブジェクトがオブジェクトの配列に存在することを確認するにはどうすればよいですか?

  14. 14

    JavaScriptでオブジェクトに特定のプロパティがあるかどうかを確認するにはどうすればよいですか?

  15. 15

    Javascriptオブジェクトのメソッドとそのプロパティが同じ名前を共有している場合、それらを区別するにはどうすればよいですか?

  16. 16

    getDerivedStateFromPropsで両方が同じ名前であるかどうかを繰り返すことによって2つのオブジェクトの値を比較するにはどうすればよいですか?

  17. 17

    同じ名前の複数のプロパティをオブジェクトに追加するにはどうすればよいですか?

  18. 18

    ExceptionオブジェクトのInnerExceptionプロパティがnullかどうかを確認するにはどうすればよいですか?

  19. 19

    Luaで2つのテーブル(オブジェクト)が同じ値を持っているかどうかを確認する方法

  20. 20

    2つのハッシュマップに同じIDのオブジェクトが含まれているかどうかを確認するにはどうすればよいですか?

  21. 21

    特定の配列にある値に等しいプロパティを持つオブジェクトが含まれているかどうかを確認するために角度テンプレートを配置するにはどうすればよいですか?

  22. 22

    オブジェクトの配列が同じキーに対して同じ値を持っているかどうかを確認するにはどうすればよいですか?

  23. 23

    クラスのサイズがゼロなのはなぜですか?異なるオブジェクトが異なるアドレスを持っていることを確認するにはどうすればよいですか?

  24. 24

    クラスのサイズがゼロなのはなぜですか?異なるオブジェクトが異なるアドレスを持っていることを確認するにはどうすればよいですか?

  25. 25

    isCheckedやisSelectedのようなプロパティがない場合、分度器でチェックボックスがオンまたはオフになっていることを確認するにはどうすればよいですか?

  26. 26

    SPARQLを使用して、2つのプロパティが同じオブジェクトを共有していないインスタンスを見つけるにはどうすればよいですか?

  27. 27

    format-listと同じ順序でPowerShellオブジェクトのプロパティを取得するにはどうすればよいですか?

  28. 28

    オブジェクトが特定のプロパティを持っていることを簡潔に主張するにはどうすればよいですか?

  29. 29

    配列に特定のプロパティの値を持つオブジェクトが含まれているかどうかを確認します

ホットタグ

アーカイブ