已为小白,啥都不懂 2022-01-27 14:35 采纳率: 98%
浏览 68
已结题

合并 2 个对象,其中 Key1 = Key 2 并将 Value1 作为键分配给 Value 2


我有 2 个这样的对象
{
    "2-14": "text-body",
    "3-28": "h1",
    "3-30": "h2",
    "3-36": "color-primary",
    "3-38": "color-secondary",
    "3-40": "color-black-100",
    "3-43": "color-black-50"
}
和
{
    "3-36": "#4992FF",
    "3-38": "#49DEFF",
    "3-40": "#000000",
    "3-43": "#808080"
}
我需要像下面这样合并这两个

{
  "color-primary": "#4992FF",
  "color-secondary": "#49DEFF",
  "color-black-100": "#000000",
  "color-black-50": "#808080",
}

基本上,第一个对象的值将是键,第二个对象的值将成为新对象的值。我需要在键匹配的地方合并。请帮忙。

我试过这种方式来合并两者。但无法按要求获取新对象。

const newArray = {};
for (const key of Object.getOwnPropertyNames(array1)) {
  newArray[key] = array2[key];
}
这给了我

{
    "3-36": "color-primary",
    "3-38": "color-secondary",
    "3-40": "color-black-100",
    "3-43": "color-black-50"
}
  • 写回答

2条回答 默认 最新

  • Rattenking Python领域优质创作者 2022-01-27 15:13
    关注
    
    let obj1 = {
        "2-14": "text-body",
        "3-28": "h1",
        "3-30": "h2",
        "3-36": "color-primary",
        "3-38": "color-secondary",
        "3-40": "color-black-100",
        "3-43": "color-black-50"
    }
     
    let obj2 = {
        "3-36": "#4992FF",
        "3-38": "#49DEFF",
        "3-40": "#000000",
        "3-43": "#808080"
    }
    Object.keys(obj2).reduce((prev,key) => {
      if(obj1[key]){
        prev[obj1[key]] = obj2[key]
      }
      return prev;
    },{})
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月19日
  • 已采纳回答 2月11日
  • 创建了问题 1月27日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?