*初级小白*~ 2023-04-07 13:13 采纳率: 97.9%
浏览 17
已结题

JavaScript对象

如何将obj对象的key与obj2的key对比,相等将obj的值填写到obj2的standard的值里面,形成res


onst obj = {
      "hz": "12",
      "hw": {
        "cm": "21",
        "m": "11"
      },
      "fr": {
        "cm_U": "12",
        "m_S": "22"
      }
    }

    const obj2 = {
      hz: {
        name: 'a',
        data: [{
          note: '',
          avg: {
            value: '',
            unit: '%'
          },
          standard: {
            value: '',
            unit: '%'
          }
        }]
      },
      hw: {
        name: 'b',
        data: [{
            note: 'cm',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '',
              unit: '%'
            }
          },
          {
            note: 'm',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '',
              unit: '%'
            }
          }
        ]
      },
      fr: {
        name: 'c',
        data: [{
            note: 'cm_U',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '',
              unit: '%'
            }
          },
          {
            note: 'm_S',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '',
              unit: '%'
            }
          },
        ]
      }
    };
const res = {
      hz: {
        name: 'a',
        data: [{
          note: '',
          avg: {
            value: '',
            unit: '%'
          },
          standard: {
            value: '12',
            unit: '%'
          }
        }]
      },
      hw: {
        name: 'b',
        data: [{
            note: 'cm',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '21',
              unit: '%'
            }
          },
          {
            note: 'm',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '11',
              unit: '%'
            }
          }
        ]
      },
      fr: {
        name: 'c',
        data: [{
            note: 'cm_U',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '12',
              unit: '%'
            }
          },
          {
            note: 'm_S',
            avg: {
              value: '',
              unit: '%'
            },
            standard: {
              value: '22',
              unit: '%'
            }
          },
        ]
      }
    };
  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2023-04-07 13:21
    关注

    用下面的代码处理obj2

    //const obj =。。。。
    //const obj2 =。。。。
    
       for (let attr in obj) {
            if (typeof (obj[attr]) == 'object') {
                Object.keys(obj[attr]).forEach(key => {
                    let obj2item = obj2[attr].data.find(i => i.note == key);
                    if (obj2item) obj2item.standard.value = obj[attr][key];
                })
            }
            else {
                for (let item of obj2[attr].data) item.standard.value = obj[attr];
            }
        }
        console.log(obj2);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值