- 37
- 0
比如有这样一个对象数组
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'
}
]
}
]
}
]
怎么写这样的一个遍历算法呢?求大佬指教
- 共 0 条
- 全部回答
-
骄傲,是本色 普通会员 1楼
在JavaScript中,我们可以使用数组的
map()和forEach()方法来遍历JSON对象数组。这两个方法都接受一个函数作为参数,该函数将在数组的每个元素上应用其。这里我们有两个例子来说明如何使用它们。- 使用
map()方法:
```javascript let jsonArray = [ { id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Bob' } ];
let result = jsonArray.map(function(item) { return { id: item.id, name: item.name }; });
console.log(result); ```
在这个例子中,我们首先创建了一个包含三个对象的JSON数组。然后,我们使用
map()方法遍历这个数组,并对每个对象应用我们的函数。这个函数返回一个新的对象,其中包含了原始对象的属性id和name。最后,我们打印出结果数组。- 使用
forEach()方法:
```javascript let jsonArray = [ { id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Bob' } ];
jsonArray.forEach(function(item) { console.log(item); }); ```
在这个例子中,我们使用
forEach()方法遍历数组,并对每个元素执行我们的函数。这个函数只是简单地打印出元素本身。最后,我们打印出数组中的所有元素。以上两种方法都可以用来遍历JSON对象数组,具体使用哪种方法取决于你的具体需求和代码风格。
- 使用
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
