js循环问题
我在用在zTree做一个树,静态数据格式是
var treeNodes=[
{id:1,pId:0,name::"SVC25001"},
{id:2,pId:6,name:"SVC25002"},
{id:3,pId:2,name:"SVC2500220100601"}
我呢 现在已经从后台把数据库取得的数据List已经转换成json格式的 data了,data也有值了,
现在问题是:我不会写循环把{id:data[i].id,pId:data[i].pId,name:data[i].name}一个一个的通过循环组成上面的格式,求教啊,不知道各位理解我的意思了没??
------解决方案--------------------
[{},{},{}],这个数据是一个对象的数组
照你的描述data本身就是这样一个数组,而且属性的名称也是符合需要的
所以不用转换
var treeNodes=data;
这样就可以了,
实在要转换
var treeNodes=new Array();
for(var i=0;i<data.length;i++)
{
treeNodes.push({id:data[i].id,pId:data[i].pId,name:data[i].name});
}
------解决方案--------------------JScript code
<script type="text/javascript">
$(function(){
var treeNodes=[];
function formatDate(id,pId,name){
return {
id:id,
pId:pId,
name:name
};
}
for(var i = 0,len = data.length;i < len;i++){
treeNodes.push(formatDate(data[i].id,data[i].pId,data[i].name));
}
});
</script>
------解决方案--------------------
大括号是一个Object。
中括号是一个数组。
循环外面:
var arr=new Array();
在循环里面:
var obj=new Object();
obj.id="";
obj.pId="";
obj.name="";
arr.push(obj);
当然,这只是生成一个Array对象