将有逻辑关系的树形结构数组转换为扁平化的一维对象数组(包含PID、ID父子关系)(tree转换为List)

news2024/11/19 3:33:31
// 将有逻辑关系的树形结构数组转换为扁平化的一维对象数组
treeStructure2flatArray(arr) {
    let r = [], r_ = (ar, PID = 'root') => ar.forEach(v => (v.children && (r_(v.children, v.ID), delete v.children), (v.PID = PID, r.push(v))));
    r_(JSON.parse(JSON.stringify(arr)));
    return r;
},

逆向操作

最简练的代码将扁平化一维对象数组(具有id、pId或id、parentId或ID、PID)转换为结构化的数组,通过PID或parentId转换为有逻辑关系的树形结构数组(List转换为tree)_id 和parentid 如何转换数据-CSDN博客文章浏览阅读99次。【代码】最简练的代码将扁平化的数组(具有id、pId或id、parentId或ID、PID)转换为结构化的数组,将扁平化的一位对象数组通过PID或parentId转换为有逻辑关系的树形结构数组。_id 和parentid 如何转换数据https://blog.csdn.net/qq_37860634/article/details/130586119

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1428400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

由数据插入超长引起的问题——了解GaussDB和openGauss的字符集

前言 故事是这样开始的。我们的小DEMO项目的数据库版本从openGauss 2.1.0升级到了5.0.0版本。升级后进行功能验证的时候,测试同学发现个BUG,原来通过gs_restore导出来的数据再导入时报超长,插入失败了,如下图所示,nva…

VisionMaster图像拼接功能实现

由于硬件或安装环境限制,单个相机视野无法覆盖整个视野,但实际应用需要全视野图像时,可以拍摄物体的多个部分拼接成一张整图。VM提供图像拼接工具对图像进行拼接。 使用标定图进行标定建模是最重要的一步,成功标定后可以将图像无…

Cocos XR的WebBox实现流程

1. 正常3D场景下的webview 1.1 组件角色 Cocos Creator正常3D场景下只有在UI组件才支持webview,即作为下图中的UI Nodes(Canvas Node)的子节点,和3D组件是隔离开的,不能显示在3D空间中,UI Nodes(Canvas Node)是一个平面内的矩形…

新旧Mac恢复出厂设置的方法不同,这里提供新旧Mac不同的重置方法

在某些使用macOS 12 Monterey或更高版本系统的Mac电脑上,你可以使用系统首选项中的内置功能“擦除助手”轻松擦除和重置计算机。以下是操作方法。 要求(以及旧款Mac的提示) 从2021年发布的macOs Monterey(macOs 12)开始,系统首选项现在有一个类似于iPhone和iPad上的“擦…

TraceRoute 跟踪路由工具

随着企业网络需求的不断增长,组织发现监控和管理其网络基础设施变得越来越困难,网络管理员正在转向其他工具和资源,这些工具和资源可以使他们的工作更轻松一些,尤其是在故障排除方面。 目前,网络管理员主要使用简单、…

【日常聊聊】开源软件影响力

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 方向一:开源软件如何推动技术创新 方向二:开源软件的商业模式 方向三:开源软件的安全风险 方…

单机搭建hadoop环境(包括hdfs、yarn、hive)

单机可以搭建伪分布式hadoop环境,用来测试和开发使用,hadoop包括: hdfs服务器 yarn服务器,yarn的前提是hdfs服务器, 在前面两个的基础上,课可以搭建hive服务器,不过hive不属于hadoop的必须部…

某通用引发供应链的思考

本文由掌控安全学院 - 江月 投稿 前言 前段时间看到很多人在打某通用系统,简单记录一下思路。 某通用单位系:xxx奕科技公司 产品如下: 资产还不少,记住这个容器服务平台 等下还要考,以及这个事务中心 可强行接管统一…

QButtonGroup使用介绍

一、简介 QButtonGroup是PyQt5库中的一个组件,主要用于组织和管理一组按钮。通过QButtonGroup,可以方便地实现单选框或多选框功能,统一处理按钮的信号,并且可以为按钮分组设定ID以进行识别。 1、原始工程 from PyQt5.Qt import …

-运算符-

目录 一.算术运算符 (一).四则运算符:加减乘除模(-*/%) (二).增量运算符 - * % (三).自增/自减运算符 -- 二.关系运算符 ! < > < > 三.逻辑运算符&& || ! (一).逻辑与 (表达式1&&表达式2) (二).逻辑或 || (三).逻辑非 ! (四).…

JMeter 下载、安装、启动

JMeter安装部署依赖Java环境&#xff0c;所以首先得安装JDK。 JDK下载JDK环境变量配置 ① 新建系统环境变量JAVA_HOME ② 编辑系统变量Path ③ 新建系统变量CLASSPATH变量 JMeter下载安装 Apache JMeter - Apache JMeter™ JMeter安装部署依赖Java环境&#xff0c;所以首…

Framework - ActivityThread 应用启动UI渲染流程

一、概念 ActivityThread拥有 main(String[] agrs) 方法&#xff0c;作为程序的入口&#xff0c;是应用程序的初始化类。&#xff08;ActivityThread不是主线程&#xff0c;它在 main() 方法中实例化&#xff0c;是运行在主线程中。&#xff09;ApplicationThread是 ActivityT…

Docker搭建MySQL8主从复制

之前文章我们了解了面试官&#xff1a;说一说Binlog是怎么实现的&#xff0c;这里我们用Docker搭建主从复制环境。 docker安装主从MySQL 这里我们使用MySQL8.0.32版本&#xff1a; 主库配置 master.cnf //基础配置 [client] port3306 socket/var/run/mysqld/mysql.sock [m…

java(面向对象基础)

面向对象的三大特征&#xff1a;封装、继承、多态 一、封装 用 类设计对象处理某一个事物的数据时&#xff0c;应该把要处理的数据&#xff0c;以及处理这些数据的方法&#xff0c;设计到一个对象中去。 封装规范&#xff1a;合理隐藏&#xff0c;合理暴露&#xff08;先将成…

力扣hot100 编辑距离 多维DP

Problem: 72. 编辑距离 文章目录 思路Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 Code ⏰ 时间复杂度: O ( n m ) O(nm) O(nm) &#x1f30e; 空间复杂度: O ( n m ) O(nm) O(nm) class Solution {public int minDistance(String s1, String s2){int n s1.lengt…

MongoDB基础认识

MongoDB数据库介绍 名称源自“humongous”&#xff08;意为“巨大无比”&#xff09;。MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。MongoDB 旨在为WEB应用提…

备战蓝桥杯---搜索(DFS基础1)

何为深搜&#xff1f; 即不撞南墙不罢休。 话不多说&#xff0c;直接看题&#xff1a; 我们可以把这看成深搜的模板题&#xff0c;下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[15];//存值并输出 int vis[15]; int n18; void dfs(int …

Nicn的刷题日常之喝汽水问题

目录 1.题目描述 2.解题思路 3.解题 4.思路2 解题 1.题目描述 喝汽水&#xff0c;1瓶汽水1元&#xff0c;2个空瓶可以换一瓶汽水&#xff0c;给20元&#xff0c;可以喝多少汽水&#xff08;编程实现&#xff09;。 2.解题思路 1. 20元首先可以喝20瓶&#xff0c;此时手…

书生浦语2-对话-20B大模型部署实践

简介 书生浦语2.0是一个大语言模型&#xff0c;是商汤科技与上海 AI 实验室联合香港中文大学和复旦大学发布的新一代大语言模型。‘ 具体特性 有效支持20万字超长上下文&#xff1a;模型在 20 万字长输入中几乎完美地实现长文“大海捞针”&#xff0c;而且在 LongBench 和 L…

Python程序设计 函数基础

简单函数 函数&#xff1a;就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。 函数的使用包含两个步骤&#xff1a; 定义函数 —— 封装 独立的功能 调用函数 —— 享受 封装 的成果 函数的作用&#xff0c;在开发程序时&#xff0c;使用…