配列の比較を順不動で行いたい

配列同士を比較した際に、値の順番は考慮せずに保持している値が一致するかどうかを検証したいです。

以下のような要件です。

["A", "B", "C"] === ["A", "B", "C"] // true ["A", "B", "C"] === ["B", "A", "C"] // true ["A", "B", "C"] === ["C", "B", "A"] // true ["A", "B", "C"] === ["A", "C"] // false

Setオブジェクトを使用して比較を行えばいけるのでは?と思ったのですが、Setオブジェクト同士の比較はできないのか、条件に入りません。

const set1 = new Set(["A", "B", "C"]) const set2 = new Set(["B", "A", "C"]) if (set1 === set2) { // trueになって欲しいがここには入らない }

このように配列を比較する場合、どのような方法をとるべきでしょうか?
配列の値を一つずつ取り出して、各値毎に検証して判定を行う、という手法は最終手段としたいです。
何か良い方法があればご教示いただけますと幸いです。

コメントを投稿

0 コメント