javascript 配列からsetを生成する

javascript 配列からsetを生成する

javascriptで、配列からsetを生成するサンプルコードを記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 105.0.5195.127

配列からsetを生成する

配列からsetを生成するには、「new Set」時に引数に配列を指定します。

const arr = ['aaa', 'bbb', 'ccc'];

const set = new Set(arr);

console.log(set.size); // 3

for (let value of set) {
  console.log(value);
}

実行結果

配列内で重複データがある場合は、重複は除去されます。

const arr = ['aaa', 'aaa', 'bbb', 'ccc', 'ccc'];

const set = new Set(arr);

console.log(set.size); // 3

for (let value of set) {
  console.log(value);
}

実行結果

オブジェクトの配列からsetを生成する

オブジェクトの配列から生成する場合は「map」を使用します。

const arr = [
  {id: 1, name: 'a'},
  {id: 2, name: 'b'},
  {id: 3, name: 'c'},
  {id: 4, name: 'a'},
  {id: 5, name: 'c'},
];

const set = new Set(arr.map(v => v.name));

console.log(set.size); // 3

for (let value of set) {
  console.log(value);
}

実行結果

setから配列

逆にsetから配列に変換する場合は、スプレッド構文を使用します。

const set = new Set([1,2,3]);

const arr = [...set]

console.log(Array.isArray(set)); // false

console.log(Array.isArray(arr)); // true