问答

js 多级嵌套数组对象 怎么转化成普通的数组对象?

作者:admin 2021-05-07 我要评论

vue 后端返回的数据如图,怎么让图中多级嵌套的数组对象改成一下格式: 需要改成以下格式: 请求各位大佬赐教 急急急!!! ### console.log(data .map(dep = { ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

vue 后端返回的数据如图,怎么让图中多级嵌套的数组对象改成一下格式:
image.png
需要改成以下格式:
image.png
请求各位大佬赐教 急急急!!!

###
console.log(data
  .map(dep => {
    return dep.declareTypeDtos.map(dot => {
      dot.deptId = dep.deptId;
      dot.deptName = dep.deptName;
      return dot;
    });
  })
  .flat());
###

这看结构不像是无限嵌套的,一共就两层,第一层 depar,第二层 declare。所以写个双层 for 循环就好了啊。

或者用函数式写法,外层用 flat,内层用 map 就处理出来了。

###

如果是要把多维数组变一维的话,用 Array.prototype.flat

###
function flatDeep(arr, d = 1) {
   return d > 0 ? arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatDeep(val, d - 1) : val), [])
                : arr.slice();
};

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • js   多级嵌套数组对象 怎么转化成普通

    js 多级嵌套数组对象 怎么转化成普通

  • el-input如何回车生成标签

    el-input如何回车生成标签

  • 请问我在这里点击li的a与b时,{console

    请问我在这里点击li的a与b时,{console

  • echarts怎样获取每次选中的index?以及

    echarts怎样获取每次选中的index?以及

腾讯云代理商
海外云服务器