例如,我有两个对象:
let firstObject =
{
'x' : 3,
'y' : 2,
'z' : 1
}
let secondObject =
{
'x' : 1,
'y' : 5,
'c' : 3
}
是否有可能从两个对象中获取具有所有键的新对象,并在匹配键时对两个值的平均值进行计数,所以新对象看起来像这样?
newObject =
{
'x' : 2, // ((3+1)/2)
'y' : 3.5, // ((2+5)/2)
'z' : 1, // z only in one object, so do nothing and just add to new objects with key : value
'c' : 3 // c only in one object, so do nothing and just add to new objects with key : value
}
键的值始终> 0
使用Object.entries和forEach。突变第一个对象。取决于undefined + n是伪造的NaN,所以||将使用第二个值。
let firstObject =
{
'x' : 3,
'y' : 2,
'z' : 1
}
let secondObject =
{
'x' : 1,
'y' : 5,
'c' : 3
}
Object.entries(secondObject).forEach(([k,v])=>firstObject[k]=(firstObject[k]+v)/2||v)
console.log(firstObject)