在javascript中,从迭代器创建数组

时间:2015-04-01 02:34:54

标签: javascript arrays iterator ecmascript-6

给出iterator,创建Array的最佳方法是什么?

例如,

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()  //??//

我可以做一些蹩脚的事情,比如

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

但必须有更好的方法。

1 个答案:

答案 0 :(得分:3)

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

Array.from()方法从中创建一个新的Array实例   类似数组或可迭代的对象。