Let's say I have:
let object1 = [{id: 15, name: name1}, {id: 0, name: name2}, {id: 98, name: name3}];
let object2 = [{id: 2, action: action}, {id: 88, action: action}, {id: 0, action: action}];
ID numbers don't match on purpose. How could I get name values from object1 whose ID's don't appear in object2?
Edit: I've tried to
let results;
for (let i = 0; i < object1.length; i++) {
results = object2.filter(element => { return element.id != object1[i].id } );
}
Also tried to get it working with .map(), but with no luck.
You could use filter()
on one of the arrays and find()
to filter out the objects from that array with ids that don't occur in the other array.
let oArr1 = [{id: 15, name: "name1"}, {id: 0, name: "name2"}, {id: 98, name: "name3"}];
let oArr2 = [{id: 2, action: "action"}, {id: 88, action: "action"}, {id: 0, action: "action"}];
const result = oArr1.filter(x => !oArr2.find(y => y.id === x.id));
console.log(result);