Javascript简化变量的方法

Javascript简化变量的方法,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我是Javascript的初学者,我的英语说得不太好,所以对此感到抱歉。 我有一些代码是可行的,但我想改进和简化它 -->我目前拥有的(L.图标为传单图标): -->如果可能的话,我想要什么(以这种风格): 提前感谢您唯一的区别是iconUrl,因此您可以创建一个帮助函数,用传递的iconUrl子字符串创建一个图标,该子字符串不同: const makeIcon = markerName => new L.Icon({ iconUrl: `./img/marker_${markerNa

我是Javascript的初学者,我的英语说得不太好,所以对此感到抱歉。 我有一些代码是可行的,但我想改进和简化它

-->我目前拥有的(L.图标为传单图标):

-->如果可能的话,我想要什么(以这种风格):


提前感谢您

唯一的区别是
iconUrl
,因此您可以创建一个帮助函数,用传递的
iconUrl
子字符串创建一个图标,该子字符串不同:

const makeIcon = markerName => new L.Icon({
  iconUrl: `./img/marker_${markerName}.png`, shadowUrl: './img/marker-shadow.png',
  iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41]
});
const greenIcon = makeIcon('green');
const redIcon = makeIcon('red');
const orangeIcon = makeIcon('orange');
但是,与其为非常相似的值使用3个单独的独立变量名,我更喜欢使用单个对象:

const icons = {
  green: makeIcon('green'),
  red: makeIcon('red'),
  orange: makeIcon('orange'),
};

然后,如果
greenIcon

唯一的区别是
iconUrl
,则您可以引用
icons.green
,因此您可以创建一个帮助函数,该函数使用传递的
iconUrl
子字符串创建一个图标,该子字符串不同:

const makeIcon = markerName => new L.Icon({
  iconUrl: `./img/marker_${markerName}.png`, shadowUrl: './img/marker-shadow.png',
  iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41]
});
const greenIcon = makeIcon('green');
const redIcon = makeIcon('red');
const orangeIcon = makeIcon('orange');
但是,与其为非常相似的值使用3个单独的独立变量名,我更喜欢使用单个对象:

const icons = {
  green: makeIcon('green'),
  red: makeIcon('red'),
  orange: makeIcon('orange'),
};
然后,如果
greenIcon
,则您将引用图标.green