[解決済み] jest.jsで要素の位置を無視したArrayの等式マッチング関数はありますか?
2022-08-31 04:56:42
質問
私は、次のことを知りました。
.toEqual()
はプレーンオブジェクトのすべてのフィールドの等式をチェックします。
expect(
{"key1":"pink wool","key2":"diorite"}
).toEqual(
{"key2":"diorite","key1":"pink wool"}
);
というわけで、これはパス。
しかし、配列の場合は同じようにはいきません。
expect(["pink wool", "diorite"]).toEqual(["diorite", "pink wool"]);
jestのドキュメントには、これを行うmatcher関数がないようです。つまり、要素の位置に関係なく2つの配列の等価性をテストします。一方の配列の各要素を他方の配列のすべての要素に対してテストしなければならないのでしょうか。または他の方法がありますか?
どのように解決するのですか?
配列を順序を比較せずに比較する方法は組み込まれていませんが、単純に配列のソートを行うには
.sort()
を使って並べ替えることができます。
expect(["ping wool", "diorite"].sort()).toEqual(["diorite", "pink wool"].sort());
で例を確認することができます。 このフィドル .
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン