You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何转换嵌套对象中的属性值?示例与代码问题咨询

嵌套对象属性值转换需求

初始对象

const studentDetails = {
   'details1': {Name: "John", CountryName: "US", value: 1},
   'details2': {Name: "David", CountryName: "AUS", value: 2},
   'details3': {Name: "Bob", CountryName: "UK", value: 3},
};

期望转换结果

{
   'details1': {Name: "John", CountryName: "US", value: 2},
   'details2': {Name: "David", CountryName: "AUS", value: 3},
   'details3': {Name: "Bob", CountryName: "UK", value: 4},
};

已尝试的代码片段

Object.fromEntries(Object.entries(studentDetails).map(([key, value]) => [key, some data transformation on value]))

解决方法

你已经找对了核心思路,只需要把some data transformation on value替换为具体的对象处理逻辑——通过解构原嵌套对象,保留所有原有属性的同时,将value属性值加1即可。这种方式不会修改原对象,会返回一个全新的转换后对象:

const transformedStudentDetails = Object.fromEntries(
  Object.entries(studentDetails).map(([key, obj]) => [
    key,
    // 解构原对象,覆盖value属性为原值+1
    { ...obj, value: obj.value + 1 }
  ])
);

核心逻辑拆解:

  • Object.entries(studentDetails):将原对象转换为包含键值对的数组
  • map遍历数组:对每个嵌套对象做解构处理,保留原有属性的同时将value属性值加1
  • Object.fromEntries:将处理后的键值对数组重新转换为对象

内容的提问来源于stack exchange,提问作者Pascal Schmidt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:25:21