javascript - 合并两个具有相同键的对象并将值转换为数组

标签 javascript

var obj1 = {name: “John”, hobby: “Football”}

var obj2 = {hobby: “Basketball”}

这是我的两个对象。我想合并它们,我的结果将是

   var obj1 = {name: “John”, hobby :[“Foootbal”,”Basketball”]}

我怎样才能做到这一点?

最佳答案

var obj1 = {name: "John", hobby: "Football"}

var obj2 = {hobby: "Basketball"}
var obj3 = {hobby: "Tennis"}

const merge = (obj1, obj2) => {
    Object.keys(obj1).forEach(key => { if (obj2[key]) obj1[key] = [...[obj1[key]], obj2[key]].flat() })
}

merge(obj1, obj2)
merge(obj1, obj3)

console.log(obj1)

关于javascript - 合并两个具有相同键的对象并将值转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65742228/

相关文章:

Javascript项目结构——组件架构

javascript - 混合内容问题 $http.get AngularJS

javascript - 在 JavaScript 性能方面模仿 C 数组的结构处理

javascript - 录制音频..切断

javascript - 在 Nedb 数据表中寻找最小值?

javascript - 为什么函数会产生错误的解决方案

javascript - 使用浏览器 keystore 中的私钥进行基于浏览器的加密/解密

javascript - 如何在两个字符串上使用 XOR "^"

javascript - 通过 WAMP 服务器使 Socket.IO 从本地主机工作

javascript - 使用 JQuery onChange 在 mvc 中填充下拉列表