JavaScript で配列に同じ要素が含まれているかを比較したいときはしばしばあります。しかし、全て自分で書こうと思うとそこそこ難しいです。

そこで Lodash という配列やオブジェクトの処理をしてくれる便利なライブラリを使うと見通しがよく、機能的にもバグのない処理ができます。

  • まず sortBy で配列を並べます。
  • さらに uniq で重複を取り除きます。
  • この二つを isEqual で比較します。
JS
import _sortBy from 'lodash/sortBy'
import _uniq from 'lodash/uniq'
import _isEqual from 'lodash/isEqual'

const array1 = [3, 1, 2]
const array2 = [1, 2, 3, 3]

const isEuqual = _isEqual(_uniq(_sortBy(array1)), _uniq(_sortBy(array2)))
console.log(isEuqual)