3

given an iterator, what's the best way to create an Array?

for example,

let map = new Map();
map.set( 'key1', 'data' );
map.set( 'key2', 'more data' );
...
// now, wish to have an array of keys
let arr = //??// map.keys()  //??//

I could do something lame like

function iter2array( iter ) {
  let arr = new Array();
  for( let e in iter ) arr.push(e);
  return arr;
}

but there has to be a better way.

cc young
  • 18,939
  • 31
  • 90
  • 148

1 Answers1

5
Array.from(map.keys()) // ['key1', 'key2']

The Array.from() method creates a new Array instance from an array-like or iterable object.

elclanrs
  • 92,861
  • 21
  • 134
  • 171