我在用在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}一个一个的通过循环组成上面的格式,求教啊,不知道各位理解我的意思了没??

解决方案 »

  1.   

    [{},{},{}],这个数据是一个对象的数组
    照你的描述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});
    }
      

  2.   


    <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>
      

  3.   

    大括号是一个Object。
    中括号是一个数组。
    循环外面:
    var arr=new Array();
    在循环里面:
    var obj=new Object();
    obj.id="";
    obj.pId="";
    obj.name="";
    arr.push(obj);当然,这只是生成一个Array对象
      

  4.   

    各位,我已经知道了 其实data本身就可以用,哈哈 谢谢了。