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;
    }
  • 相关阅读:
    python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过autopy实现右键菜单和另存为操作
    python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为
    vue.js移动端app实战3:从一个购物车入门vuex
    vue 做登陆页面 ( 登陆成功后去掉注册和登陆按钮 显示用户名)
    vue中手机号,邮箱正则验证以及60s发送验证码
    从零开始徒手撸一个vue的toast弹窗组件
    vue 更改头像功能实现
    event.srcElement与event.target的区别
    vue中使用axios post上传头像/图片并实时显示到页面
    vue开发:移动端图片上传
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/12931969.html
Copyright © 2011-2022 走看看