项目需求
- 数组作为全局作用量,在函数的实际过程中根据不同的判断条件调用不同的值。
- 条件判断解决;
- 通过调整数据格式解决;
var hzData=[];//杭州数据
var nbData=[];//宁波数据
var wzData=[];//温州数据
函数调用
- 根据不同城市的名称参数,返回对应的城市数据。实现的方式一般是通过条件判断if语句或switch case来实现。
- 在实际项目中,做地图下钻时,涵盖多个城市(2000多个县市时),通过if语句的实现,将大大增加冗余代码;同时对于后期的维护成本极高。
function getCity(cityName) {
if (cityName == 'hz') {
return hzData;
}
if (cityName == 'nb') {
return hzData;
}
if (cityName == 'wz') {
return hzData;
}
}
解决思路
- 动态加载,通过ajax传递判断条件,及时从后台获取对应的数据予以加载。这个是实际过程中最常用也是最快捷的方式。
- 静态加载,
var newArr = [
{
"hz": {
"alarmid": "41AE-BBC6-83BEF12F91AC",
"clientid": "2e11722f670391d487",
"clientname": "浙江大学附属小学"
}
},
{
"nb": {
"alarmid": "68E98160-B3ED-41AE",
"clientid": "487f4c29183a3d099",
"clientname": "宁波大学附属小学"
}
}
];
封装函数
//获取对应数组的值,并返回;
function getData(data) {
return data;
}
//根据条件判断获取对应的值;
function getMap(key, name) {
//实际调用;
return getData(newArr[key][name]);
}
@lockdata.cn