使用默认值填充地图

pri*_*ban 4 javascript ecmascript-6

我想创建一个包含48个默认键值对的映射.这段代码工作正常:

var m = new Map();

for(var i=1; i <= 48 ; i++) {
  m.set(i,'0')
}
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否可以在不使用for循环的情况下完成.

Pet*_*der 6

您可以将数组传递给Map构造函数:

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

如果您的第一把钥匙可以0代替1,那么这将是一个更清洁的解决方案:

const map = new Map(Array(48).fill('0').entries());
Run Code Online (Sandbox Code Playgroud)