开发者社区> 问答> 正文

请教一个 大牛们js遍历的问题. 怎么样可以提高下面的效率

问题.
有2个json数据. 要比对2个数据.删除比对后不同的.

jsonA = 
{ "MAIN": { "NAV": [ 
{ "FA": "1", "VALUE": [ 
{ "FB": "1", "VALUE": [
{ "FC": "1","VALUE": [ 
{ "FD": "1","VALUE": [] },
{"FD": "2","VALUE": [] }
] }
]} 
]}
] }}
jsonA 一个数组内可能会有多个. 这里只写了一个.
jsonB = 
[{"FA":1,"FB":"1","FC":"1","FD":"1"},
{"FA":2,"FB":"4","FC":"6","FD":"8"},
{"FA":3,"FB":"5","FC":"7","FD":"9"}]

要求
jsonA 与 jsonB 进行对比.
只有当FD FC FB FA 的数据在jsonB中都不存在的时候才可以删除jsonA 对应的FA.
同理 当FD FC FB 的数据在jsonB中都不存在 才能删除FB对应.
假如 FA FB 在jsonB中不存在 但FD 存在 .那么就不能删除.
我能想到的思路是 多重嵌套循环对比..但是数据很多的话会有问题的...
请问大牛们有什么好思路.

展开
收起
云栖技术 2016-06-02 10:12:26 2175 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    左边是key,右边是数据项
    然后遍历两个集合,放入对应的key,然后循环匹配。

    2019-07-17 19:24:07
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载