How to merge this 2 arrays by name though the whole name in arr1 has the name Ana Marie Cruz while the arr2 has the name Anna Marie . Can someone give me an idea. I have attempted it in es6.What can be the most efficient way to do it.
let arr1 = [{
name: "Shaina",
age: "27"
}, {
name: "Ana Marie Cruz",
"age": "35"
}];
let arr2 = [{
name: "Ana Marie",
status: "married"
gender: Female
}];
I'm trying to get this output in javascript.
var arr3 = [{name: "Shaina", age: "27"},{name:"Ana Marie Cruz", age : "35",status:"married",gender:Female}];
you can do something like this
let arr1 = [{
name: "Shaina",
age: "27"
}, {
name: "Ana Marie Cruz",
"age": "35"
}];
let arr2 = [{
name: "Ana Marie",
status: "married",
gender: 'Female'
}];
let arr3 = arr1.map(a => {
const founded = arr2.find(({name}) => a.name.includes(name))
return {
...(founded || {}),
...a
}
})
console.log(arr3)
const arr1 = [
{
name: "Shaina",
age: "27",
},
{
name: "Ana Marie Cruz",
age: "35",
},
];
const arr2 = [
{
name: "Ana Marie",
status: "married",
gender: "Female",
},
];
const result = arr1.map((d) => {
const data = arr2.find((a) => d.name.includes(a.name));
if (!data) return d;
return {
...d,
...data,
};
});
console.log(result);