map类型其实就是键值对的形式,每一个函数或者每一个对象对应一个特殊的键值,通过key,value的形式来调用不同的函数并执行不同的操作。
//定义复用对象
const requestTiber = {
mater: () => {
materialgetDatalist(this.dataForm).then((res) => restiber(e, res, materialTable));
},
export: () => {
expertbaseFunction.getDatalist(this.dataForm).then((res) => {
return restiber(e, res, expertTable);
});
},
person: () => {
personbaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, personTable));
},
car: () => {
carbaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, carTable));
},
team: () => {
teambaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, teamTable));
},
gover: () => {
governmentplanbaseFunction.getDatalist(this.dataForm).then((res) => {
res.data.list.map((item: any) => {
item.planType == 1 ? (item.planType = "综合预案") : item.planType == 2 ? (item.planType = "专项预案") : (item.planType = "应急预案");
});
restiber(e, res, governmentplanTable);
});
},
house: () => {
housebaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, houseTable));
},
fire: () => {
facilitiesbaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, facilitiesTable));
},
shelter: () => {
emergencyShelterbaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, emergencyShelterTable));
},
unit: () => {
unitbaseFunction.getDatalist(this.dataForm).then((res) => restiber(e, res, unitTable));
}
};
//定义复用Map类型集合
const emeus = new Map([
['应急物资', requestTiber.mater],
['应急专家', requestTiber.export],
['应急人员', requestTiber.person],
['应急车辆', requestTiber.car],
['应急队伍', requestTiber.team],
['应急预案', requestTiber.gover],
['应急仓库', requestTiber.house],
['消防设施', requestTiber.fire],
['避难场所', requestTiber.shelter],
['应急机构', requestTiber.unit],
]);
emeus.get(e)();
这样我们可以根据Map类型动态调用对象中的属性函数,来执行不同的操作.例如e == "应急人员",则会执行requestTiber.person();
Map类型常见方法
Map.set( key , value )( 新增键值对 )
Map.get( key )( 通过键值来获取对应值 ,如果值是函数,直接map.get(key)(),即可调用)
Map.has( key )( 判断某一个key值是否有对应的value属性 ,成功返回true,失败返回false)
Map.delete( key )( 通过key值来删除对应map数组,成功返回true,失败返回false )
Map.clear( map对象 )( 清除此map对象下的所有键值对 )
Map.forEach( ( item,key,maps )=>{ item为value,key为key,maps为map对象 } )( 遍历 )