如
[
{"id":1,"name":"第一层","child":[{"id":11,"name":"第一层下"}]}
,{"id":2,"name":"第二层","child":[{"id":21,"name":"第二层下"}]}
]
这样的JSON,包含child的无限嵌套结构。
如何根据拿到的id,快速找到相应的对象
假如拿到 id 21 如何拿到 对应name
只能用递归吗?还有其他方式没 尽量快点
如
[
{"id":1,"name":"第一层","child":[{"id":11,"name":"第一层下"}]}
,{"id":2,"name":"第二层","child":[{"id":21,"name":"第二层下"}]}
]
这样的JSON,包含child的无限嵌套结构。
如何根据拿到的id,快速找到相应的对象
假如拿到 id 21 如何拿到 对应name
只能用递归吗?还有其他方式没 尽量快点
如果格式固定你可以JSON.stringify之后用正则去匹配。
const yourString = JSON.stringify([{id: 5, name: 'test'},{id:21,name:'hi'},{id:6,name:'w'}]);
const id=21; const reg = new RegExp(`"id":${id},"name":"([^"]*)"`);
console.log(yourString.match(reg));
hi就是你要的。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
转json字符串,然后正则找