可以使用ES6中的展开运算符和对象解构来部分地替换一个对象中的键值对。首先,将原对象解构成一个新的对象,然后再分别替换需要更改的键值对的值,最后再展开回去即可。
示例代码如下:
const originalObj = {
name: 'Alice',
age: 25,
address: {
city: 'Beijing',
country: 'China'
}
};
const { address, ...rest } = originalObj;
const newAddress = { ...address, city: 'Shanghai' };
const newObj = { ...rest, address: newAddress };
console.log(newObj); // { name: 'Alice', age: 25, address: { city: 'Shanghai', country: 'China' } }
注:在上述示例代码中,我们首先将原对象originalObj
解构成两个对象,即address
和rest
,其中address
是一个包含city
和country
两个键值对的对象,而rest
是一个不包含address
键值对的对象。然后,我们将address
对象解构成一个新的对象newAddress
,并使用其替换原对象中的address
键值对的值。接着,我们把...rest
、address
和newAddress
对象重新组合成一个新的对象newObj
,完成对象部分替换操作。最后,我们输出修改后的newObj
对象,即可看到输出的对象仅仅替换了address
对象中city
键值对的值,其他键值对都保持不变。
上一篇:部分填充数组的插入
下一篇:部分替换SQL中的字符串