Thursday, 7 October 2021

compare two array of objects javascript

 // IN THIS EXAMPLE WE HAVE GROUP INSERTS - DATA TO BE ADDED TO DB


// TO INSERT INTO DB EACH GROUP NAME MUST BE THE MATCHING ID

// CONATCT NAME MUST ALSO BE MATCHING ID

// THE CODE BELOW SHOWS HOW TO TRAVERSE THROGUH TWO ARRAYS AND COMPARE / ADD VALES


const groupInserts = [ { groups: [ 'Chess', 'Science', 'German' ], name: 'Ian Smith' },

  { groups: [ 'Swimming' ], name: 'Jenny Smith' },

  { groups: [ 'Tennis' ], name: 'Susan Jones' },

  { groups: [ 'Coding', 'Science' ], name: 'Judy Davis' } ]


const nameAndIdsFromDB = [ { name: 'Parent_1', id: 1 },

{ name: 'Parent_2', id: 2 },

{ name: 'Ian Smith', id: 99 },

{ name: 'Jenny Smith', id: 100 },

{ name: 'Susan Jones', id: 101 },

{ name: 'Judy Davis', id: 102 } ]


const groupnameAndIdsFromDB = [ { name: 'Debugging', id: 1 },

{ name: 'React', id: 2 },

{ name: 'New record with no people', id: 3 },

{ name: 'New record with people', id: 4 },

{ name: 'Chess', id: 12 },

{ name: 'Science', id: 13 },

{ name: 'German', id: 14 },

{ name: 'Swimming', id: 15 },

{ name: 'Tennis', id: 16 },

{ name: 'Coding', id: 17 } ]


let groupNamesWithIds = [];

groupInserts.forEach(data => {

    if (data.groups) {

         data.groups.map(e => {

                let obj = {};

                obj.group = e;

                obj.name = data.name

                groupNamesWithIds.push(obj);

        })

    }

})




var result = result1.filter(function (o1) {

    return result2.some(function (o2) {

        return o1.id === o2.id; // return the ones with equal id

   });

});

// if you want to be more clever...

let result = result1.filter(o1 => result2.some(o2 => o1.id === o2.id));



No comments:

Post a Comment

7 Common mistakes in Dot Net — You can avoid

  There are many common mistakes made during .NET (ASP.NET, .NET Core) development, which affect performance, security, and code… Code Crack...