我只想分配那些已经存在于目标对象中的键,而不是由object.assign方法完成的其他键。
example
a = { x: 2}
b = {x:3, y:4}
then result = {x:3}
我知道过去还有其他的方法,但有什么更新更好的方法可以做到这一点吗?
您可以通过从obj
获取值(如果存在(将target
对象的键减少为新对象:
const fn = (target, obj) => Object.keys(target)
.reduce((acc, key) => key in obj
? { ...acc, [key]: obj[key] }
: acc
, {})
const a = { x: 2}
const b = { x:3, y:4 }
const result = fn(a, b)
console.log(result)
我认为最快的方法是:
for (let key in b) {
if (a[key] === undefined) {
delete b[key];
}
}