项目需求
- 数组作为全局作用量,在函数的实际过程中根据不同的判断条件调用不同的值。
- 条件判断解决;
- 通过调整数据格式解决;
数组数据
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