一枚技术很菜的前端码农工作中的总结

344 阅读2分钟
 第一次来掘金发表文章,想把最近工作中遇到的问题记录一下,
 可能对某些人来说就这还值得记录,但对本人而言,也算一次记录吧
 

1.首先描述一下业务场景吧:

image.png

底部菜单这种根据后台管理动态生成,前台动态渲染 遇到问题是根据id查询是所有数据没有经过处理

[
    {
      name: "中国工商银行",
      tagName: "金融机构",
      id:1
    },
    {
      name: "国家安全部",
      tagName: 政府机构,
      id:4
    },
    {
      name: "警察局",
      tagName: 政府机构,
      id:4
    },
    {
      name: "中国建设银行",
      tagName: 金融机构,
      id:4
    },
    {
      name: "浦发银行",
      tagName: 金融机构,
      id:4
    },
  ]

大概数据就是这个样子,需要根据id相同的push成子类数组这种格式 直接展示我的解决方案吧。

 let dataInfo = {};
  resData.forEach((item, index) => {
    let { tagName } = item;
    if (!dataInfo[tagName]) {
      dataInfo[tagName] = {
        tagName,
        child: []
      }
    }
    dataInfo[tagName].child.push(item);
  });
  let list = Object.values(dataInfo); // list 转换成功的数据
  console.log(list)

image.png 最终想要解果: 根据遍历循环相同Id生成嵌套数组,方便两层v-for循环渲染。

为此我还从思否提了个问题,观摩了大佬最优解决,有兴趣的掘友可以点击我这个链接了解一下子 segmentfault.com/q/101000004…

2.后台数据数组对象里的字段老给null、需要前台处理、感觉后台应该可以处理、最后想了想算了前台这里做出处理:

array.forEach((item)=>{
    Objectkeys(item).foreach(key=>{
        if(item[key] ==null) item[key]=0
   })
})

利用枚举值遍历所有对象字段为null得到想要结果

3.帮助后台处理了一个前端小问题,所有对象追加一个字段

data.foreach((item)=>{
    item['key']=1
})

End

第一次写,简单分享一下最近一周遇到的问题,希望能帮助到别人,只求大家别喷我就是了, 定时总结一下也是挺好的,过的尽量充实一点。

image.png