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.

1
  • 1
    Please remember an iterator can be infinite. Commented Apr 1, 2015 at 2:41

1 Answer 1

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

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

Sign up to request clarification or add additional context in comments.

1 Comment

works great. firefox supports, but not yet in chrome or nodejs. any other ideas

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.