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

JavaScript中如何通过key变量获取嵌套对象的对应属性值

你可以通过自定义字段映射规则实现需求,每个目标字段对应单独的取值逻辑即可,示例代码如下:

// 输入的原始对象
const input = {"id":100,"date":"2021","d":"D","e":{"e1":"E"},"f":{"f1":"F"}};

// 转换函数
function convertObject(source) {
  return {
    // 直接取原对象d属性的原值
    d: source.d,
    // 取e属性下的e1属性值,可选链写法可避免e不存在时报错
    e: source.e?.e1,
    // 硬编码赋值固定值
    f: "HardCode"
  }
}

// 调用转换得到结果
const output = convertObject(input);
console.log(output); // 输出:{ d: 'D', e: 'E', f: 'HardCode' }

如果后续需要扩展更多字段的转换规则,直接在返回的对象中新增对应的字段和取值逻辑即可。

如果需要适配不确定的嵌套层级取值,可以封装通用的深度取值方法,示例如下:

// 通用深度取值方法
function getDeepValue(obj, path) {
  return path.split('.').reduce((current, key) => current?.[key], obj);
}

// 使用示例,取e.e1的值
console.log(getDeepValue(input, 'e.e1')); // 输出 E

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:02