2017-08-29 111 views
4

我想创建一个包含48个默认键值对的地图。 此代码工作正常:使用默认值填充地图

var m = new Map(); 

for(var i=1; i <= 48 ; i++) { 
    m.set(i,'0') 
} 

但是,我想知道这是否可以不使用for循环来完成。

+0

什么是错用了循环? –

+0

没有什么只是想知道这是否可以完成没有循环或不循环。 –

+0

使用for循环是实现所需内容的最佳方法 – koolkat

回答

6

你可以传递一个数组到Map构造:

const map = new Map([...Array(48)].map((_, i) => [i + 1, '0'])); 

如果你的第一个键可以0而不是1,这将是一个清洁的解决方案:

const map = new Map(Array(48).fill('0').entries()); 
+1

'i'应该是'i + 1'。 –

+0

@FelixKling是的,你是完全正确的。 – PeterMader