2015-04-01 60 views
2

創建Array給出iterator,創建Array的最佳方法是什麼?在javascript中,從迭代器

例如,

 
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

請記住一個迭代器可以是無限的。 – jfriend00 2015-04-01 02:41:46

回答

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

Array.from()方法從 陣列狀或迭代的對象創建一個新的陣列的實例。

+1

效果很好。 Firefox支持,但尚未在chrome或nodejs中。任何其他想法 – 2015-04-01 03:03:09