/** 工具类 根据数组创建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); })();
原文地址:http://7032011.blog.51cto.com/7022011/1597861