I have two arrays:
var odd = [
{ name : "1", extraProp1 : "propValue1" },
{ name : "3", extraProp1 : "propValue2"}
];
var even = [
{ name : "1", extraProp2 : "prop1" },
{ name : "2", extraProp2 : "prop2"},
{ name : "4", extraProp2 : "prop3" }
];
How do I make a new array that results as:
var result = [{ name : "1", extraProp1 : "propValue1", extraProp2 : "prop1"}];
They need to be added based on the name property.
EDIT: This is in reference to Merge 2 arrays of objects I have also looked at : How can I merge properties of two JavaScript objects dynamically?
However, when I do this
function merge(a, b, prop){
var reduced = a.filter( aitem => b.find ( bitem => aitem[prop] === bitem[prop]) );
return reduced;
}
console.log( "ES6", merge(odd, even, "name") );
It takes property only from one array.