指定目标和源对象中相交关键点值的最快方法



我只想分配那些已经存在于目标对象中的键,而不是由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];
}
}

最新更新