Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

in javascript, create Array from an iterator [duplicate]

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.

like image 707
cc young Avatar asked Feb 23 '26 16:02

cc young


1 Answers

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

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

like image 74
elclanrs Avatar answered Feb 25 '26 06:02

elclanrs