根據記錄數組解析js實例集合

/** 
 工具類
 根據數組創建js Bean數組
 使用方法見使用案例
 @author zliangbing
 @param dataArr
  數據源
 @param yingshejson
  映射json
 @param className
  接收數據用的Bean類類名
 **/
function CreateBeanList(){
}
CreateBeanList.createBeanList=function(dataArr,yingshejson,classObj){
 var result=new Array();
 //1、從dataArr第二條數據開始,dataArr[0]、記錄、yingshejson、className作爲參數,都可以得到一個Bean對象
 for(var i=1;i<dataArr.length;i++){
  result.push(CreateBeanList.getBean(dataArr[0],dataArr[i],yingshejson,classObj));
 }
 return result;
}
CreateBeanList.getBean=function(names,jilu,yingshejson,classObj){
 var bean=new classObj();
 for(var i=0;i<names.length;i++){
  eval("bean."+eval("yingshejson."+names[i])+"='"+jilu[i]+"'");
 }
 return bean;
};
/**  使用案例  **/
(function demo1(){//使用閉包,前面的代碼要以";"結尾
 /**  一、定義Bean  **/
 function TestBean(){};
 TestBean.prototype.unid='a';
 TestBean.prototype.title='b';
 /**  二、調用工具類  **/
 //1、構造參數
 var dataArr=[['UNID','TITLE'],['FFFFEFE','標題1'],['FESEWDD','標題2']];
 var yingshejson={'UNID':'unid','TITLE':'title'};
 var className='TestBean';
 //2、調用方法
 var result=CreateBeanList.createBeanList(dataArr,yingshejson,eval(className));
 //alert("bean個數:"+result.length+"\n第一個結果:"+result[0].unid+","+result[0].title);
})();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章