2017-05-31 5 views
1

J'implémente une longue interrogation dans nodejs et l'API google envoie un objet json complexe après chaque requête. Comment puis-je trouver rapidement la différence entre la ressource interrogée et la précédente. De cette façon, je peux obtenir la dernière ressource et effectuer mes opérations.comment trouver la différence entre deux objets json complexes?

[ 
    { kind: 'y', 
    etag: 'some etag', 
    id: '1', 
    snippet: 
    { videoId: 'vid1', 
     top: [Object], 
     isPublic: true } }, 
    { kind: 'y', 
    etag: 'Some Etag', 
    id: '2', 
    snippet: 
    { videoId: vid, 
     top: [Object], 
     isPublic: true } 
    } 
] 

Ceci est un exemple de réponse pour une API de données. Comme vous pouvez le voir le tableau a deux objets. Maintenant, disons que je demande l'api à nouveau après 5min. L'api retourne un tableau avec trois objets.Pour cet exemple, disons qu'il contient un nouveau plus les deux mentionnés ci-dessus.Maintenant, Comment puis-je extraire le nouveau.

Le cœur de ma question est que le tableau représente un ensemble ayant trois éléments et un autre qui en a deux. A et B respectivement. Comment puis-je trouver A - B.

Répondre

-1

Mettre à jour en fonction de la mise à jour de la question. En supposant que vous avez la structure suivante des données:

const oldData = [ 
    { 
    kind: 'y', 
    etag: 'some etag', 
    id: '1', 
    snippet: { 
     videoId: 'vid1', 
     top: [Object], 
     isPublic: true 
    } 
    }, 
    { 
    kind: 'y', 
    etag: 'Some Etag', 
    id: '2', 
    snippet: { 
     videoId: vid, 
     top: [Object], 
     isPublic: true 
    } 
    } 
]; 

et vous avez reçu une newData, je voudrais aller simple filtre ::

const reallyNewData = newData.filter(item => { 
    return !oldData.some(el => el.id === item.id); 
}); 

Donc, fondamentalement, nous le faisons en utilisant des méthodes de tableau ES5 filter et some .

+0

Mais comment puis-je extraire les changements entre les deux objets genre de différence d'ensemble. – uman

+0

@uman montre des exemples d'objets. – Lazyexpert

+0

J'ai édité le post ci-dessus avec quelques exemples d'objets. – uman