在 javascript 中,从迭代器创建数组
in javascript, create Array from an iterator
给定一个 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;
}
但必须有更好的方法。
Array.from(map.keys()) // ['key1', 'key2']
The Array.from() method creates a new Array instance from an
array-like or iterable object.
给定一个 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; }
但必须有更好的方法。
Array.from(map.keys()) // ['key1', 'key2']
The Array.from() method creates a new Array instance from an array-like or iterable object.