之前多条件判断时用的都是if else或者是switch case
let name=""
if(){
name="1"
}else if(){
name="2"
}else if(){
name="2"
}
这里推荐一种优雅写法
可使用new Map语法:
赋值字段
key="edit"
//单数据
const actionsList = new Map([
["xy", "el-icon-location-outline"],
["bookmark", "el-icon-discount"],
["bounds", "el-icon-full-screen"],
["marker", "gisicon icon-biaoji"],
["secondMap", "icon-duibi gisicon"],
["exportPDF", "el-icon-picture-outline"],
["clearAll", "el-icon-delete"],
["legend", "icon-tuli gisicon"],
["eidt", "icon-fuhao-huizhi"],
["default", "el-icon-more"],
]);
console.log(action) //icon-fuhao-huizhi
//多数据
const actionsList = new Map([
["measure", ["测量", "gisicon icon-changduceliang"]],
["draw", ["绘图工具", "gisicon icon-fuhao-huizhi"]],
["layers", ["图层", "gisicon icon-tuceng-"]],
["buffer", ["缓冲查询", "gisicon icon-xuxian"]],
["othertool", ["工具", "gisicon icon-weibiaoti--"]],
["edit", ["编辑地图", "gisicon icon-fuhao-huizhi"]],
["default", ["其他工具", "el-icon-more"]],
]);
let action = actionsList.get(key) || actionsList.get("default");
console.log(action) //["编辑地图", "gisicon icon-fuhao-huizhi"]
调用对应方法
const actions = new Map([
['guest_1', () => { functionA }],
['guest_2', () => { functionB }],
['guest_3', () => { functionC }],
['guest_4', () => { functionA }],
['default', () => { functionC }],
//...
])