JavaScript 合并对象函数:mergeObjects() - 代码示例和用法
JavaScript 合并对象函数:mergeObjects()
此函数用于合并多个对象,返回合并后的对象。
函数定义
/**
* 合并多个对象
* @param {Object} target - 目标对象
* @param {...Object} sources - 源对象
* @returns {Object} 合并后的对象
*/
export function mergeObjects(target, ...sources) {
sources.forEach(source => {
Object.keys(source).forEach(key => {
if (typeof source[key] === 'object') {
// 如果源对象的属性值是对象,则递归合并
if (!target[key]) {
target[key] = {};
}
mergeObjects(target[key], source[key]);
} else {
// 否则直接覆盖目标对象的属性值
target[key] = source[key];
}
});
});
return target;
}
参数
target{Object}:目标对象。sources{...Object}:源对象。
返回值
- 返回合并后的对象。
示例
const target = { a: 1, b: { c: 2 } };
const source1 = { b: { d: 3 } };
const source2 = { e: 4 };
const merged = mergeObjects(target, source1, source2);
// merged: { a: 1, b: { c: 2, d: 3 }, e: 4 }
用法
- 导入 mergeObjects 函数。
- 创建目标对象和源对象。
- 调用 mergeObjects 函数,将目标对象和源对象作为参数传入。
- 函数将返回合并后的对象。
注意事项
- 此函数会修改目标对象,不会创建新的对象。
- 如果源对象和目标对象具有相同的属性,则源对象的属性值将覆盖目标对象的属性值。
- 此函数使用递归方法合并嵌套对象。
原文地址: https://www.cveoy.top/t/topic/lKIX 著作权归作者所有。请勿转载和采集!