HOWTO · JavaScript

JavaScript でセットを配列に変換

JavaScript でセットを配列に変換する方法を学ぶ

このページの内容

この記事では、JavaScript でセットを配列に変換する方法について説明します。

JavaScript で Array.from() を使用してセットを配列に変換する

  • Array.from() を使用すると、次のソースからアレイを構築できます。
  • 配列のようなオブジェクト(インデックス付きのアイテムと長さのプロパティを持つオブジェクト)、または
  • 反復可能なアイテム(マップやセットなど)。

Set のような反復可能なオブジェクトから、Array.from() メソッドは浅くコピーされた配列インスタンスを構築できます。ES6 では、Array オブジェクトに追加されました。コードは次のようになります。

var aa = new Set([1, 3, 5, 7]);
let ar = Array.from(aa);

console.log(ar);

出力:

[1, 3, 5, 7]

JavaScript の Spread 演算子を使用してセットを配列に変換する

拡張演算子 syntax (...) は、配列式や文字列などの反復を展開します。ここでは、0 個以上の引数(関数呼び出しの場合)または要素(配列リテラルの場合)が必要です。または、0 個以上のキーと値のペアが次のように展開されます。期待される位置(オブジェクトリテラルの場合)。

スプレッド演算子を使用して、セットを配列に変更することもできます。unfold 構文を使用すると、配列リテラルが期待されるセットを増やすことができます。これにより、JavaScript の ES6 仕様に組み込まれました。

その使用率は以下でテストされます。

var aa = new Set([1, 3, 5, 7]);
let ar = [...aa];

console.log(ar);

出力:

[1, 3, 5, 7]

JavaScript の Set.prototype.forEach() 関数を使用してセットを配列に変換する

別の解決策は、セットの各要素を配列に追加することです。これは、以下に示すように、forEach() メソッドを使用して簡単に実行できます。

var aa = new Set([1, 3, 5, 7]);
let ar = [];
aa.forEach(k => ar.push(k));

console.log(ar);

forEach() メソッドは、Set オブジェクトの値ごとに提供されたコールバックを 1 回実行します。

出力:

[1, 3, 5, 7]