比如有这样一个对象数组let data = [

{

title: '标题一',

tagName: 'h1'

},

{

title: '标题二',

tagName: 'h1'

},

{

title: '标题三',

tagName: 'h2'

},

{

title: '标题四',

tagName: 'h3'

},

{

title: '标题五',

tagName: 'h2'

},

{

title: '标题六',

tagName: 'h1'

},

{

title: '标题七',

tagName: 'h1'

},

{

title: '标题八',

tagName: 'h2'

},

{

title: '标题九',

tagName: 'h3'

},

{

title: '标题十',

tagName: 'h3'

}

]

要求根据tagName的优先级,从h1开始排,一直到h6,每个h1后面直到下个h1之前的都是它的children节点,依次内推,比如上面的数据这样处理后就会像下面的格式:let data = [

{

title: '标题一',

tagName: 'h1'

},

{

title: '标题二',

tagName: 'h1',

children: [

{

title: '标题三',

tagName: 'h2'

children: [

{

title: '标题四',

tagName: 'h3'

}

]

},

{

title: '标题五',

tagName: 'h2'

}

]

},

{

title: '标题六',

tagName: 'h1'

},

{

title: '标题七',

tagName: 'h1',

children: [

{

title: '标题八',

tagName: 'h2',

children: [

{

title: '标题九',

tagName: 'h3'

},

{

title: '标题十',

tagName: 'h3'

}

]

}

]

}

]

怎么写这样的一个遍历算法呢?求大佬指教

c语言json如何遍历数组,JavaScript怎么遍历这样的一个Json的对象数组?用递归or循环?...相关推荐

  1. html页面遍历数组,javascript如何遍历数组?

    作为一个程序员对于数组遍历大家都不是很陌生,在开发中我们也经常要处理数组.这里我们讨论下JavaScript中常用的数组遍历方法. 数组中常用的遍历方法有四种,分别是:for for-in forEa ...

  2. html怎么遍历数组,JavaScript如何遍历数组?遍历数组方法介绍

    在往期文章中为大家介绍了 JavaScript 如何定义数组.那么这篇文章中 w3cschool 小编来为大家介绍下 JavaScript 如何遍历数组. 方法一:for 循环遍历数组 var arr ...

  3. js中遍历数组加到新数组_js数组遍历:JavaScript如何遍历数组?

    什么是数组的遍历? 操作数组中的每一个数组元素. 使用for循环来遍历数组 因为数组的下标是连续的,数组的下标是从0开始. 我们也可以得到数组的长度. 格式:for(var i=0;i 数组变量名[i ...

  4. js 加总数组中某一列_js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理...

    js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理 Example: 根据code合并数组,并将sl值累加,如下两种方法: let data = [{ code: 1001, name: ...

  5. 向一个对象数组里面添加新的属性 + 将一个对象数组数据拿出来变成另一个对象

    向一个对象数组里面添加新的属性 var arry= [{a:11,b:22,c:33,d:44},{a:11,b:0,c:0,d:44},{a:11,b:22,c:99,d:99}]; var arr ...

  6. 页面jquery怎么循环php数组,javascript,jquery_jq遍历数组,javascript,jquery - phpStudy

    jq遍历数组 html结构如下: a: 1 2 b: 1 2 c: 1 2 d: 1 2 要求是点击btn,判断哪个类别没有选择,输出它的label 比如这个就输出"a没有选择" ...

  7. Vue中JS遍历后台JAVA返回的Map数据,构造对象数组数据格式

    场景 SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图: SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_ ...

  8. 【Android NDK 开发】JNI 方法解析 ( 字符串数组参数传递 | 字符串遍历 | 类型强转 | Java 字符串与 C 字符串转换 | 字符串释放 )

    文章目录 I . C/C++ 中的 Java 字符串数组类型 II . 获取字符串数组长度 III . 获取字符串数组元素 IV . 类型强转 ( jobject -> jstring ) V ...

  9. php返回json数组元素,php生成返回json对象数组(json支持中文)

    php生成返回json对象数组 注意两种方法生成的对象数组在结构上的区别 $jarr=array( 'total' => 239, 'list' => array( array( 'cod ...

最新文章

  1. JavaScript与有限状态机
  2. 2022版中国液压、气压动力机械及元件制造行业建设现状与投资动向研究报告
  3. 利用 Flash 远程检测客户端安装的杀软
  4. P6860-象棋与马【欧拉函数,杜教筛】
  5. Datawhale-零基础入门NLP-新闻文本分类Task05
  6. 注意啦,Struts 2.1.6跟sitemesh-2.4.1不兼容
  7. 黑马程序员 oc中的类与对象
  8. linux配置c11,C11标准的泛型机制
  9. 计算机的存储容量1kb表示什么,计算机的存储容量常用KB为单位,这里1KB表示什么?...
  10. 多图体验:最强大的Win8.1开始菜单Classic Shell 3.9.1
  11. 强迫症狂喜!PC端相册还能智能分类!
  12. 第二十二课--提示工具(Tooltip)
  13. UML测试题(UML基础)
  14. C# EF框架(一)配置
  15. 测试ocx(MFC ActiveX控件)
  16. IDEA代码复制到Notion,代码类型与变量之间的空格消失了。
  17. 【渝粤题库】陕西师范大学292331 证券投资学Ⅰ作业(高起专)
  18. 真值推理-Truth Inference-----Is the Problem Solved?
  19. 通过OpenCV对视频进行绿幕抠图
  20. det曲线_如何画说话人识别/确认的DET曲线?

热门文章

  1. 百度成立智能驾驶事业群组 陆奇亲任总经理
  2. 全备份、增量备份与差量备份
  3. MySQL数据库引擎、数据事务与隔离级别
  4. mRemoeNG安装
  5. java基本类型和使用
  6. nginx的作用及原理(一)
  7. python一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
  8. 滴滴为什么选择与章鱼哥APP合作?
  9. 如何做好测试用例的设计
  10. 位运算符和位运算(与,或,异或等)