可以通过以下步骤实现:
下面是一个示例代码:
function mergeObjects(obj1, obj2) {
const mergedObj = {};
// 遍历第一个对象的键值对
for (let key in obj1) {
mergedObj[key] = obj1[key];
}
// 遍历第二个对象的键值对
for (let key in obj2) {
if (mergedObj.hasOwnProperty(key)) {
// 如果键已存在于新对象中,则将值转换为数组,并将第二个对象中的值添加到数组中
if (!Array.isArray(mergedObj[key])) {
mergedObj[key] = [mergedObj[key]];
}
mergedObj[key].push(obj2[key]);
} else {
// 如果键不存在于新对象中,则直接添加键值对
mergedObj[key] = obj2[key];
}
}
return mergedObj;
}
// 示例用法
const obj1 = { name: 'Alice', age: 25 };
const obj2 = { name: 'Bob', age: 30 };
const mergedObj = mergeObjects(obj1, obj2);
console.log(mergedObj);
这段代码将合并两个对象 obj1
和 obj2
,并将结果存储在 mergedObj
中。如果两个对象中存在相同的键,那么将会合并它们的值为一个数组。
这个方法在处理合并两个对象时非常有用,特别是在处理复杂的数据结构时。它可以用于合并用户配置、合并多个API响应等场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅作为示例,实际使用时应根据具体需求选择适合的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云