有时前端拿到的数据是多层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. SpringBoot 项目tomcat插件启动报错 java.lang.NoClassDefFoundError: javax/el/ELManager
  2. aac fhg lc哪一个模式_电流模式变换器输出LC滤波器对反馈环影响
  3. Moodle的qq登录版块的使用
  4. 往有序链表的插入元素使原链表依旧有序
  5. oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
  6. 计算机的屏幕约是16平方分米吗,小明的卧室有16平方分米对不对
  7. 爪哇国新游记之二十六----迷宫寻路
  8. 数据库表关联关系的基础知识
  9. oracle实现累加,oracle用sum函数实现累加
  10. js去除字符串空格(空白符)
  11. wincc与第三方软件opc通讯_运用OPC实现WinCC与西门子SIMOTION的通讯
  12. ssm框架的简要介绍
  13. Codeforces Round #717 (Div. 2)-A. Tit for Tat-题解
  14. 从北京回来的年轻人,我该告诉你点什么? 1
  15. opencv通过dll调用matlab函数,图片作为参数
  16. 预约上门App平台的接单方式
  17. 基于ARMv8架构的mini操作系统
  18. boost heap - d_ary_heap 的自定义compare函数用法
  19. 数据库SQL语句 快速入门(一)
  20. flex布局文本不换行

热门文章

  1. 美国东部时间和北京时间之间的转换
  2. 传奇怎么设置不显示服务器,如何将传奇服务器未知神殿地图修改为不限制进出...
  3. UE5 学习2- 快捷键
  4. 入职快两个月的一些感悟
  5. 全球及中国贴片电容行业市场竞争态势及投资风险预测报告2022-2028年
  6. 罗克韦尔AB PLC 通过KEPServer实现与西门子1200PLC的以太网通信
  7. 如何有效提高公众号文章阅读量
  8. 进制为2的10次方的世界
  9. PPT模板制作图片折叠效果怎么做?
  10. Reno5、Reno5 Pro和Reno5 Pro+ 的区别