2 llhaose llhaose 于 2016.04.07 20:59 提问

请教一个 大牛们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 存在 .那么就不能删除.

我能想到的思路是 多重嵌套循环对比..但是数据很多的话会有问题的...
请问大牛们有什么好思路.

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.08 05:08

构造hashmap
http://blog.csdn.net/guirudaoge/article/details/8433559

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!