当前位置: 首页 > 知识库问答 >
问题:

javascript - js中N层遍历问题?

单展
2024-04-26

下面的数组,不确定有多少数,每层可能还有child,我怎么递归遍历修改所有的数组内容?

let a=[{  id:1,  title:'xxx',  child:[       {      id:2,      title:"xxx"      child:...      }]}]

共有3个答案

咸正平
2024-04-26

初始数据:

let a = [  {    id: 1,    title: 'xxx',    child: [      {        id: 2,        title: 'xxx',        child: [          {            id: 3,            title: 'xxx',            child: [],          },        ],      },    ],  },];//把title的值修改成1function modifyTitle(arr) {  for (let i = 0; i < arr.length; i++) {    arr[i].title = '1';    if (Array.isArray(arr[i].child) && arr[i].child.length > 0) {      modifyTitle(arr[i].child);    }  }}modifyTitle(a);console.log(JSON.stringify(a));[    {        "id": 1,        "title": "1",        "child": [            {                "id": 2,                "title": "1",                "child": [                    {                        "id": 3,                        "title": "1",                        "child": []                    }                ]            }        ]    }]
慕鹏
2024-04-26

正常递归修改即可,比如:

function recursiveModify(arr) {  arr.forEach(item => {    // 修改属性值,例如:item.newProp = 'newValue'    if (item.child && item.child.length > 0) {      recursiveModify(item.child)    }  })}

或许是我没有理解问题,题主想问的是这个吗

贲宜春
2024-04-26

写个方法自己调用自己就好 一个简单的demo

dealList(list) {  for (let item of list) {    item.id = ''    item.title = ''    if (item?.child.length > 0) {      this.dealList(item.child)    }  }}
 类似资料:
  • dataList是一个数组,我想遍历找到返回条件的数据,我下面写的为什么不行? 但改成下面的就可以:

  • 层次遍历 给定二叉树的包含虚结点的先序遍历序列信息,按层次顺序给出遍历的结果。 输入格式: 首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据在一行中输入一个字符串(不含空格且长度不超过80),表示二叉树的先序遍历序列(其中@表示虚结点)。 输出格式: 对于每组测试,输出层次遍历的结果。 输入样例: 1 ABD@@EG@@@C@F@@ 输出样例: ABCDEFG 代码长度限制

  • 本文向大家介绍js遍历map javaScript遍历map的简单实现,包括了js遍历map javaScript遍历map的简单实现的使用技巧和注意事项,需要的朋友参考一下 js遍历map javaScript遍历map的简单实现 这样会把map给遍历掉,显示在浏览器上的控制器里。 以上这篇js遍历map javaScript遍历map的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参

  • def lookup(root): row = [root] while row: print(row) row = [kid for item in row for kid in (item.left, item.right) if kid]

  • 本文向大家介绍JavaScript中的图遍历,包括了JavaScript中的图遍历的使用技巧和注意事项,需要的朋友参考一下 图遍历(也称为图搜索)是指访问(检查和/或更新)图中每个顶点的过程。此类遍历按访问顶点的顺序分类。

  • 本文向大家介绍JavaScript中的树遍历,包括了JavaScript中的树遍历的使用技巧和注意事项,需要的朋友参考一下 树遍历是指一次访问树数据结构中的每个节点的过程。此类遍历按访问节点的顺序分类。