0

我的目标是比较两个不同的 JSON 服务并在单独的 div 中显示差异。服务 A 显示用户注册的列表。服务 B 显示所有可用列表。我希望能够在一个 div 中显示用户列表,并在另一个中显示主要列表中的剩余列表。

两组信息都来自内部 JSON 服务。我的第一种方法是从每个列表中获取列表 ID(它们是相同的)并将它们存储在数组中并比较数组。服务 A(ob1):

1,2,3,4

服务 B(ob2):

-1,1,2,3,4

这是比较,从另一个SO帖子开始

$.grep(ob1, function (el) {
        if ($.inArray(el, ob2) == -1) diff.push([el, IDl]);
    });

结果:如果用户有 1 个列表 ID,则只有一个带有来自 JSON 调用中最后一项的 ID 的结果,而不是带有关联名称的 4 个结果。关联名称是被推入最后一个数组的“ID1”。任何帮助都会很棒。

4

2 回答 2

0

您希望两个数组的不相交用作第二个数组。

var ob2 = $.grep(ob2, function(elem) { return $.inArray(elem, ob1) == -1; });

然后就可以显示 和 的内容ob1ob2

于 2012-12-18T14:58:19.527 回答
0

循环遍历更大的数组而不是较小的数组:

$.grep(ob2, function (el) {
    if ($.inArray(el, ob1) == -1) diff.push([el, IDl]);
});
于 2012-12-18T14:58:52.030 回答