JSFiddle - React, Tailwind, and code Playground
by nickxbs
JavaScript
const data =[ {
"minutesAgo": 19,
"heartRate": 71,
"created_day": "2022-08-28"
},
{
"minutesAgo": 24,
"heartRate": 77,
"created_day": "2022-08-28"
},
{
"minutesAgo": 29,
"heartRate": 79,
"created_day": "2022-08-28"
}]
const data2 =[ {
"minutesAgo": 29,
"created_day": "2022-08-28",
"steps": 15
},
{
"minutesAgo": 34,
"created_day": "2022-08-28",
"steps": 0
}]
///Merge
const merged = [];
([...data, ...data2]).reduce((arr, current) => {
console.log('arr find', arr)
let el = arr.find(a => a.created_day === current.created_day && a.minutesAgo === current.minutesAgo)
if (el) {
console.log('current', current)
Object.assign(el, current);
console.log('el', el)
} else {
arr.push({ heartRate: -1, steps: -1, ...current })
}
return arr;
}, merged)
console.log(merged)