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.keysforEach

通过现代 JavaScript 语法,使用 Object.keysforEach 进行属性复制。

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 项目。
  • 缺点: 不适用于深层嵌套对象的复制。
posted @   槑孒  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-08-26 ArcGIS API for JavaScript 3.x与4.x 去除ESRI logo的方法
点击右上角即可分享
微信分享提示