在不使用set的情况下向地图添加多个键/值

时间:2017-09-08 03:45:59

标签: javascript

我正试图弄清楚如何添加到地图,而不使用set。

说我有一个颜色列表。如果我使用了一个对象,它就像:

一样简单
var colors = {
  red: 'hsl(0,50,50)',
  green: 'hsl(150,50,50)',
  blue: hsl(210,50,50)
}

使用地图执行此操作的等效方法是什么?

我知道添加到地图非常简单:

colors.set('red','hsl(0,50,50)')

...但这意味着我必须为我收藏的所有颜色做这件事。有没有更短的方法呢?

2 个答案:

答案 0 :(得分:0)

您可以使用数组数组初始化Map。第二个维度必须为[key, value]

const colors = new Map([
  ['red', 'hsl(0,50,50)'],
  ['green', 'hsl(150,50,50)'],
  ['blue', 'hsl(210,50,50)'],
])

答案 1 :(得分:0)

对象本身不支持 .map() ,但您可以将其与 Object.keys() 结合使用。

您可以使用Object.keys(colors).map(function(key, index) {})内的dot notationbracket notation



var colors = {
  red: 'hsl(0,50,50)',
  green: 'hsl(150,50,50)',
  blue: 'hsl(210, 50, 50)'
}

Object.keys(colors).map(function(key, index) {
  colors["another"] = "value";
  colors.another2 = "value2";
});

console.log(colors);




希望这有帮助! :)