Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

2つの配列が持っている要素が等しいかどうかを判定する TypeScript

はじめに

配列の要素の順番は関係なく、2つの配列のlengthが等しいかどうか、2つの配列が同じ要素を持っているかを判定します。

関数の定義と実行

以下の通り定義します。

    const isSameArr = (arr1: number[], arr2: number[]) => {
      if (arr1.length !== arr2.length) return false;

      const arr2Clone = [...arr2];

      for (let i = 0; i < arr1.length; i++) {
        const matchedIndex = arr2Clone.indexOf(arr1[i]);
        if (matchedIndex === -1) return false;

        arr2Clone.splice(matchedIndex, 1);
      }

      return true;
    }

以下の通り実行します。

const isSame = isSameArr([1, 2, 3], [3, 1, 2]);