树结构数据,将子数据push到对应数组中

news/2024/7/24 10:02:25 标签: javascript, vue.js, 数据结构

树结构数据中,结构为[{...children:[{}],...},{},{}],子元素保存在children中,假设目前有一组数据,现有一个对象,需要遍历数据,找到对象的父级,push到父级的children

javascript">// id:需要push的数据的父级id
// data:整个树数据
// arr:需要push的数据,多个子对象可以使用数组,push时是用的...arr,如果是单个对象则不需要再解构
const handleData = (id, data, arr) => {
  data.forEach(item => {
    if (item.id === id) {
      item.children ? item.children.push(...arr) : item.children = [...arr]
    } else {
      if (item.children) {
        handleData(id, item.children, arr)
      }
    }
  })
  return data
}

let data = handleData(id, .data, arr)

假设一个数据:

javascript">// 树结构数组
let data = [
      {
        id:1,
        name:"aaaa",
        children:[]
      },
      {
        id:2,
        name:"bbbb",
        children:[]
      },
      {
        id:3,
        name:"cccc",
        children:[]
      }
    ]

// 需要push进去的子数据,需要push到id=1的数组的children中
    let children = [
      {
        id:4,
        name:"aaaa-1",
        children:[]
      },
      {
        id:5,
        name:"aaaa-2",
        children:[]
      }
    ]

// 执行
data = handleData(1, data, children)


http://www.niftyadmin.cn/n/508595.html

相关文章

vscode 使用markdown 转PDF的常见问题 之插件安装

1、Markdown 主要的插件,一切markdown代码都需要依赖于它2、Markdown All in one 各种快捷键的介绍,以及各种代码提示,想要快速入门 markdown ,这个插件是必不可少的3、Markdown PDF 转PDF的主要插件4、Markdown Preview Enhan…

vscode 使用Markdown 常用技巧之摆脱Google Chrome直转PDF

文章目录1打开markdown敲出代码在这里插入图片描述2、单击鼠标右键单击或者直接使用快捷键 CTRLk v3、在新打开的窗口中单击右键选择4、在浏览器中你打开的页面单击鼠标右键,打击打印5、然后出现如下情况,选择保存就可以了6、至此我们已经摆脱了谷歌浏览…

统计天数

题目描述 炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦,他收集了连续 N(1≤N≤106)N(1 \leq N \leq 10^6)N(1≤N≤106) …

洛谷P2141珠心算测验 (枚举暴力解法)

题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心斜体样式算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他…

洛谷P1067多项式输出

题目描述一元nnn次多项式可用如下的表达式表示:f(x)anxnan−1xn−1⋯a1xa0,an≠0f(x)a_nxna_{n-1}x{n-1}\cdots a_1xa_0,a_n\ne 0 f(x)an​xnan−1​xn−1⋯a1​xa0​,an​​0其中,aixia_ix^iai​xi称为iii次项,aia_iai​ 称为iii次项的系数…

洛谷P1055 ISBN号码(C++解法)

题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括999位数字、111位识别码和333位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如…

python笔记-多继承-MRO顺序——类方法、实例方法、静态方法的简单区

1、多继承以及 MRO顺序 使用super( ).方法只调用其中一个父类的相同方法 默认使用当前类去匹配__mro__顺序。 类名.__mro__得到super( ) .方法的调用顺序。(c3算法)python解释器的默认算法。 注意super( 类名, self ).方法名与 * 对象名.方法 * 的区…