我正试图弄清楚如何添加到地图,而不使用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)')
...但这意味着我必须为我收藏的所有颜色做这件事。有没有更短的方法呢?
答案 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 notation或bracket 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);

希望这有帮助! :)