0

私の目標は、2つの異なるJSONサービスを比較し、別々のdivで違いを示すことです。サービスAは、ユーザーが登録されているリストを表示します。サービスBは、使用可能なすべてのリストを表示します。ユーザーのリストを1つのdivに表示し、メジャーリストの残りのリストを別の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]);
    });

結果:ユーザーのリストIDが1つの場合、名前が関連付けられた4つではなく、JSON呼び出しの最後のアイテムのIDを持つ結果が1つだけになります。関連付けられた名前は、最後の配列にプッシュされている「ID1」です。どんな助けでも素晴らしいでしょう。

4

2 に答える 2

0

2 つの配列の素を 2 番目の配列として機能させます。

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

ob1次に、との内容を表示できますob2

于 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 に答える