zoukankan      html  css  js  c++  java
  • 对象整理,四个字段依次放到一个对象数组中

      AAA  表示(hotInfowg,hotInfons,hotInfopz,hotInfoaccess)

     整理成最初数据length相同,根据原数据before索引(0,1,2)对应的字段数据 AAA 放到一个新数组循环对应的索引值下

    例如索引为0时,AAA 中的值放到after索引为0的tabList中顺序依次为(外观,内饰,配置,车品)字段对应,原数据没数据为[]表示,子内容itemNames可以为空,页中控制

    前提,接口模式这 AAA 四个字段是一定会有的,没有的情况下为[]

    before:

    after:

     

    子内容可以为空,在页面中过滤即可:

     

    var data =[
        {
            "id": "1",
            hotInfoaccess: [ //车品
                {code: "", name: "车品1", price: "149000.00"},
                 {code: "", name: "车11", price: "500.00"}
             ],
            hotInfons: [  //内饰
                {code: "EM", name: "内饰", price: "0.00"},
                {code: "W96", name: "内饰1", price: "720.00"},
                {code: "W96", name: "内饰1", price: "720.00"},
                {code: "W96", name: "内饰1", price: "720.00"},
            ],
            hotInfopz: [  //配置
                {code: "4BD", name: "配置11", price: 0},
                {code: "9S0", name: "配置1", price: "2000.00"}
            ],
            hotInfowg: [  //外观
                {code: "0Q", name: "外观1", price: "2000.00"},
            ]
        },
        {
            "id": "2",
            hotInfoaccess: [  //车品
                {code: "", name: "车品2", price: "149000.00"},
             ],
            hotInfons: [  //内饰
                {code: "EM", name: "内饰2", price: "0.00"},
            ],
            hotInfopz: [  //配置
                {code: "4BD", name: "配置2", price: 0},
            ],
            hotInfowg: [  //外观
                {code: "0Q", name: "外观2", price: "2000.00"},
            ]
        },
        {
            "id": "3",
            hotInfoaccess: [  //车品
                {code: "", name: "车品3", price: "149000.00"},
             ],
            hotInfons: [  //内饰
                {code: "EM", name: "内饰3", price: "0.00"},
            ],
            hotInfopz: [  //配置
                {code: "4BD", name: "配置3", price: 0},
            ],
            hotInfowg: [  //外观
                {code: "0Q", name: "外观3", price: "2000.00"},
            ]
        },
        {
            "id": "3",
            hotInfoaccess: [  //车品
                {code: "", name: "车品3", price: "149000.00"},
             ],
            hotInfons: [  //内饰
                {code: "EM", name: "内饰3", price: "0.00"},
            ],
            hotInfopz: [  //配置
                {code: "4BD", name: "配置3", price: 0},
            ],
            hotInfowg: [  //外观
                {code: "0Q", name: "外观3", price: "2000.00"},
            ]
        },
    ]
    // 临时数组
    var dataArr=[];
    console.log(data,'before')
    for(var j in data){
        dataArr.push({});
    }
    var idx ={
        'hotInfowg':0,
        'hotInfons':1,
        'hotInfopz':2,
        'hotInfoaccess':3,
    }
     for(var i=0;i<data.length;i++){
        dataArr[i].id =data[i].id;
        //内层标签列表初始
        dataArr[i].tabList =[];  
        // console.log('循环:'+i) 
        // ,接口标签数据,列表内整理对应标签数据,标题
        lastData(i,data[i].hotInfowg,idx.hotInfowg,'外观');
        lastData(i,data[i].hotInfons,idx.hotInfons,'内饰');
        lastData(i,data[i].hotInfopz,idx.hotInfopz,'配置');
        lastData(i,data[i].hotInfoaccess,idx.hotInfoaccess,'车品');
     }
     console.log(dataArr,'整理后')
     console.log(JSON.parse(JSON.stringify(dataArr)) ,'理想效果')
    function lastData(i,datas,tabName,title){
        dataArr[i].tabList.push({});
        dataArr[i].tabList[tabName].title = title;
        dataArr[i].tabList[tabName].itemNames =datas;
    }
  • 相关阅读:
    删除表数据drop、truncate和delete的用法
    List,DataTable实现行转列的通用方案
    C#正则表达式简单限制输入11位手机号
    Oracle数据库byte存放汉字,9个汉字x3=27个字节
    SQL 语句
    $("p").fadeOut("fast")设置淡出效果
    神奇的 toLocaleString
    C#中精确计时的一点收获
    Web service stop after running serveral hours
    SQL Server中like匹配下划线的方法
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/12931969.html
Copyright © 2011-2022 走看看