首页 > 其他分享 >数组扁平化

数组扁平化

时间:2023-04-08 17:16:02浏览次数:38  
标签:arr 扁平化 title 目录 children item 数组 id

    var arr = [
      {
        id: 1,
        title: '我是1目录',
        children: [
          {
            id: 11,
            title: '我是1-1目录',
            children: [
              {
                id: 111,
                title: '我是1-1-1目录',
                children: []
              }
            ]
          },
          {
            id: 12,
            title: '我是1-2目录',
            children: []
          }
        ]
      },
      {
        id: 2,
        title: '我是2目录',
        children: [
          {
            id: 21,
            title: '我是2-1目录',
            children: []
          }
        ]
      }
    ]
    flatten(arr) {
      return arr.reduce((result, item) => {
        return result.concat(
          item,
          Array.isArray(item.children1) ? this.flatten(item.children1) : []
        );
      }, []);
    }

 

标签:arr,扁平化,title,目录,children,item,数组,id
From: https://www.cnblogs.com/wqddmg/p/17298794.html

相关文章

  • 『0016』 - Solidity Types - 玩转 Solidity 数组 (Arrays)
    作者:黎跃春,学习目标掌握Arrays的可变不可变的创建深度理解可变数组和不可变数组之间的区别二维数组memoryarrays的创建bytes0~bytes32、bytes与byte[]对比固定长度的数组(Arrays)固定长度类型数组的声明pragmasolidity^0.4.4;contractC{//数组的长度为5,数组里面的存储......
  • 『0013』 - Solidity Types - 固定大小字节数组(Fixed-size byte arrays)
    作者:黎跃春,固定大小字节数组(Fixed-sizebytearrays)固定大小字节数组可以通过bytes1,bytes2,bytes3,…,bytes32来进行声明。PS:byte的别名就是byte1。bytes1只能存储一个字节,也就是二进制8位的内容。bytes2只能存储两个字节,也就是二进制16位的内容。bytes3只能存储三个字......
  • 『0014』 - Solidity Types - 动态大小字节数组(Dynamically-sized byte array)
    作者:黎跃春,一、Dynamically-sizedbytearraystring是一个动态尺寸的UTF-8编码字符串,它其实是一个特殊的可变字节数组,string是引用类型,而非值类型。bytes动态字节数组,引用类型。根据经验,在我们不确定字节数据大小的情况下,我们可以使用string或者bytes,而如果我们清楚的知道或者......
  • 【Java】数组
    数组是编程语言中常见的数据结构,用来存储一组相同数据类型的数据,可以通过整型索引访问数组中的每一个值。需要注意,同一个数组中存储的所有元素的数据类型必须相同。根据数组存放元素的组织结构,可将数组分为一维数组、二维数组以及多维(三维及以上)。创建数组:data_type[]varName;......
  • JavaScript 数组笔记
    添加和删除数组项添加push()push()方法:向数组的末尾添加一个或多个元素,并返回修改后的数组长度。语法:arr.push(element1[,...[,elementN]])参数:element1,...,elementN:要添加到数组末尾的元素。示例:constfruits=['apple','banana','orange'];constnewLength......
  • 二维数组的初始化
    ⑴分行进行初始化inta[2][3]={{1,2,3},{4,5,6}};在{}内部再用{}把各行分开,第一对{}中的初值1,2,3是0行的3个元素的初值。第二对{}中的初值4,5,6是1行的3个元素的初值。相当于执  行如下语句:inta[2][3];a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1......
  • 数组模拟环形队列的思路及代码
    JAVA实现数组模拟环形队列的思路及代码前言在对Java实现数组模拟队列零了解的情况下,建议先去阅读《JAVA实现数组模拟单向队列的思路及代码》一文,可以辅助理解本文核心思想。一、环形数组队列实现:让数组达到复用的效果,即:当我们从数组队列中取出了数据,那取出数据后后这个空间可......
  • 数组模拟单向队列的思路及代码
    JAVA实现数组模拟单向队列的思路及代码一、什么是队列?队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称......
  • 剑指offer66(Java)-构建乘积数组(中等)
    题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中 B[i]的值是数组A中除了下标i以外的元素的积,即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例:输入:[1,2,3,4,5]输出:[120,60,40,30,24] 提示:所有元素乘积之和不会......
  • 剑指offer03(Java)-数组中重复的数字(简单)
    题目:找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输出:2或3 限制:2<=n<=1000......