132

長さが有限であることが事前にわかっている配列のような Javascript ES6 Iterable があるとします。これを Javascript 配列に変換する最良の方法は何ですか?

そうする理由は、underscore や lodash などの多くの js ライブラリが配列のみをサポートしているためです。そのため、Iterable でそれらの関数を使用する場合は、最初に配列に変換する必要があります。

Python では、list() 関数を使用できます。ES6に同等のものはありますか?

4

6 に答える 6

200

Array.fromまたは スプレッド構文 (...)を使用できます。

例:

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

const y = Array.from(x);
console.log(y); // = [ 1, 2, 3, 4 ]

const z = [ ...x ];
console.log(z); // = [ 1, 2, 3, 4 ]

于 2015-04-08T12:37:58.527 に答える
13

ES6 で追加されたArray.fromメソッドを使用できますが、サポートされるのは配列と、マップやセットなどの反復可能なオブジェクトのみです (これも ES6 で導入されます)。通常のオブジェクトの場合、Underscore のtoArrayメソッドまたは lodash の toArray メソッドを使用できます。これは、両方のライブラリが配列だけでなくオブジェクトを実際にサポートしているためです。すでにアンダースコアまたはロダッシュを使用している場合は、幸いなことに、オブジェクトに map や reduce などのさまざまな機能概念を追加するだけでなく、それらが問題を処理してくれます。

于 2015-01-10T19:03:05.900 に答える