- 31
- 0
问题描述
如题所示,目前获取到的数据是多层树形结构,每一层都有自己的children,如何才能获取到最后一层的children对其进行处理,将数据进行过滤,处理后的数据最后一层只有阿凡达这一组,如第二组数据那样 ,层数是不固定的,求大佬们指点如何处理该种数据?
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
修改前:
[{
"code": "001",
"agyTypeCode": "2",
"children": [{
"code": "001001",
"agyTypeCode": "1",
"children": [{
"code": "001001001",
"agyTypeCode": "1",
"children": [{
"finChfName": "阿拉尔",
"isPairAc": 1,
"code": "0001",
"name": "政府会计制度(2019)",
"agyCode": "001001001",
"id": "f28dad108fd411e89b13a146c4299200",
"acsCode": "001"
}, {
"finChfName": "阿凡达",
"isPairAc": 0,
"code": "0002",
"name": "政府会计制度",
"agyCode": "001001001",
"id": "e66f85a1907211e88798292b71e6b4b4",
"acsCode": "002"
}, {
"finChfName": "嗯嗯",
"isPairAc": 1,
"code": "0003",
"name": "账号",
"agyCode": "001001001",
"id": "f0cf4d60963911e8ba520dc161e32ad2",
"acsCode": "001"
}],
"name": "教育局本级",
"pid": "41a9b5c08fd411e89e1bcd37e4564ff2",
"id": "627df2208fd411e89e1bcd37e4564ff2"
}],
"name": "华南教委汇总",
"pid": "0d2ea6c08fd411e89e1bcd37e4564ff2",
"id": "41a9b5c08fd411e89e1bcd37e4564ff2"
}],
"name": "华南大区汇总",
"pid": "",
"id": "0d2ea6c08fd411e89e1bcd37e4564ff2"
}]
修改后:
[{
"code": "001",
"agyTypeCode": "2",
"children": [{
"code": "001001",
"agyTypeCode": "1",
"children": [{
"code": "001001001",
"agyTypeCode": "1",
"children": [ {
"finChfName": "阿凡达",
"isPairAc": 0,
"code": "0002",
"name": "政府会计制度",
"agyCode": "001001001",
"id": "e66f85a1907211e88798292b71e6b4b4",
"acsCode": "002"
}],
"name": "教育局本级",
"pid": "41a9b5c08fd411e89e1bcd37e4564ff2",
"id": "627df2208fd411e89e1bcd37e4564ff2"
}],
"name": "华南教委汇总",
"pid": "0d2ea6c08fd411e89e1bcd37e4564ff2",
"id": "41a9b5c08fd411e89e1bcd37e4564ff2"
}],
"name": "华南大区汇总",
"pid": "",
"id": "0d2ea6c08fd411e89e1bcd37e4564ff2"
}]
- 共 0 条
- 全部回答
-
赛萌 普通会员 1楼
在JavaScript中,你可以使用数组的
filter()方法来实现这个需求。filter()方法接收一个函数作为参数,该函数用于过滤数组中的每个元素。在这个函数中,你可以根据你的需求来修改每个元素。假设你的数组的层数为n,你想获取最后n层的元素,你可以这样实现:
javascript function filterNLayers(array, n) { return array.filter(function(item, index, self) { return index === n - 1; }); }这个函数接收一个数组和一个整数n作为参数。它使用
filter()方法,传入一个函数,这个函数返回一个布尔值,表示当前元素是否在指定的层。如果是,那么函数返回true,否则返回false。最后,filter()方法将返回这个新数组。例如,如果你有一个嵌套的数组,如下所示:
javascript var nestedArray = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15] ];你可以使用
filterNLayers()函数来获取最后三层的元素:javascript var filteredArray = filterNLayers(nestedArray, 3); console.log(filteredArray); // [10, 11, 12]在这个例子中,
filteredArray现在只包含最后三层的元素,即10,11和12。
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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