JS实现对象只复制已存在的属性
JavaScript 实现只复制已存在属性的笔记
在 JavaScript 中,如果需将一个对象的属性复制到另一个对象中,但只复制目标对象中已经存在的属性,可以使用以下几种方法:
1. 手动遍历属性
通过遍历 source
对象的属性,并判断 target
对象中是否存在对应属性,决定是否进行复制。
const source = { name: 'John', age: 30 };
const target = { name: 'Mike' };
for (let key in source) {
if (target.hasOwnProperty(key)) {
target[key] = source[key];
}
}
console.log(target); // 输出: { name: 'John' }
- 优点: 简单直接,控制权完全在开发者手中。
- 缺点: 代码较为冗长,不适合处理复杂逻辑。
2. 使用 Object.keys
和 forEach
通过现代 JavaScript 语法,使用 Object.keys
和 forEach
进行属性复制。
const source = { name: 'John', age: 30 };
const target = { name: 'Mike' };
Object.keys(target).forEach(key => {
if (source.hasOwnProperty(key)) {
target[key] = source[key];
}
});
console.log(target); // 输出: { name: 'John' }
- 优点: 语法简洁,适合现代 JavaScript 项目。
- 缺点: 不适用于深层嵌套对象的复制。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-08-26 ArcGIS API for JavaScript 3.x与4.x 去除ESRI logo的方法