有时前端拿到的数据是多层children嵌套的,但是我我们需要转成一维下拉数据框

const data = [{label: "一级 1",level: 1,children: [{label: "二级 1-1",level: 2,children: [{label: "三级 1-1-1",level: 3,},],},],},{label: "一级 2",level: 1,children: [{label: "二级 2-1",level: 2,children: [{label: "三级 2-1-1",level: 3,},],},{label: "二级 2-2",level: 2,children: [{label: "三级 2-2-1",level: 3,},],},],},{label: "一级 3",level: 1,children: [{label: "二级 3-1",level: 2,children: [{label: "三级 3-1-1",level: 3,},],},{label: "二级 3-2",level: 2,children: [{label: "三级 3-2-1",level: 3,},],},],},
];function getFlatArr(arr) {return arr.reduce((val, item) => {let flatArr = [...val, item];// 可以在此处限制各种需要的条件,在展示字段前加空格,——之类的,以及其它情况if (item.children) {flatArr = [...flatArr, ...getFlatArr(item.children)];}return flatArr;}, []);
}let newData = getFlatArr(data);
console.log(newData);

js多维数组包含有children时,将数组平铺成一维数组相关推荐

  1. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

  2. java把二维转换为一维_在R语言中什么函数可以将二维数组转换成一维数组

    满意答案 vi31892i 2013.09.11 采纳率:44%    等级:11 已帮助:6956人 这好象是汇编语言的问题吧 举个例子吧 #include "iostream.h&quo ...

  3. 每天一道LeetCode-----将m × n矩阵按照顺时针螺旋顺序转化成一维数组

    Spiral Matrix 原题链接Spiral Matrix 给定一个m × n矩阵,按照顺时针螺旋顺序将矩阵转化成一维数组. 螺旋的方向是先从左向右,再从上到下,然后从右到左,最后从下到上. 所以 ...

  4. c语言程序定义不知数量的一维数组,c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组.ppt...

    c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 * 临沂大学汽车学院:韩晓翠 第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 授课要点 数组的概念 一维 ...

  5. JS 二维数组转变成一维数组

    实现代码如下所示 var twoArray = [["a", "b", "c"], ["d", "e" ...

  6. 定义一维数组一定要指定个数吗_6.1 C语言一维数组

    01一维数组的定义 1.一般形式 类型符 数组名[常量表达式] 2.数组名的命名规则和变量名相同,遵循标识符命名规则. 3.在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个 ...

  7. python 数组赋值_LeetCode基础算法题第182篇:一维数组的运行总和

    技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完.目前我选择C语言,Python和Java作为实现语言,因为这三种语 ...

  8. cordova js(javascript)读取本地文件(将本地的bin文件转成字节数组)

    此问题已经解决,解决方法参考我的博客: cordova本地存储(存取): 读取项目里的本地文件 文章目录 1.下面两个比较有用: 2.下面两篇博客证明不用input标签的情况下,无法获取本地文件(包括 ...

  9. JS中怎样获取当前年以及前后几年并构造成对象数组

    场景 在前端修改年份的下拉框中构造下拉框的数据源为当前年份的前后三年. 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取 ...

最新文章

  1. mysql 的man参数详解_pacman命令详解
  2. 伊利诺伊大学厄巴纳-香槟分校
  3. 21个高质量的Swift开源iOS App
  4. java七大设计原则
  5. oracle 10 TNSLSNR.EXE 占用了8080端口怎么办
  6. 在IT的路上,我在成长
  7. XidianOJ 1099 A simple problem
  8. 【译】谨慎使用CSS中的波浪选择器
  9. 茱莉亚分形_茱莉亚的NaN Constant
  10. 算法-递归求1-n的阶乘
  11. 计算机教案解说词,小学微机室解说词初稿
  12. 值得收藏!中国金融体系主要指标大全
  13. JAVA数组——二分查找
  14. android开题报告模板下载,毕业设计开题报告模板
  15. EAS 后台事务配置
  16. 初学者使用HTML简单做一个自我介绍
  17. android电影播放器,万能电影播放器2018最新版-万能电影播放器v1.0 安卓版-腾牛安卓网...
  18. 腾讯云服务器怎么搭建多个ip,(技巧)利用腾讯云架设多ip实现单窗口单ip
  19. android jdk和ndk下载地址,cocos2d-x Android(SDK,NDK,JDK,ANT)下载地址
  20. 你可能用错了 kafka 的重试机制

热门文章

  1. 为交付Semi卡车做准备 特斯拉招募技术服务人员
  2. 计算机辅助cad3dmax,对Auto CAD3DMAXOpen GL在计算机辅助机械设计中应用分析.doc
  3. 规范化:范式(主属性,非主属性,1NF,2NF,3NF,BCNF:定义,例子等)
  4. Android之APP跳转到权限设置界面适配华为、小米、vivo等
  5. C语言|《C Primer Plus》|数据类型
  6. 马云控股“文化中国”暗藏啥玄机?
  7. MySQL系统变量auto_increment_increment与auto_increment_offset学习总结
  8. 计算机网络基础课后习题,《计算机网络技术基础》课后习题参考答案
  9. UBUNTU开启CRONTAB日志记录及解决NO MTA INSTALLED, DISCARDING OUTPUT问题
  10. 程序员开发效率神器汇总!