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

JavaScript如何移除对象外层父级属性,提取内层子对象

JavaScript移除对象外层包裹属性的实现方案

场景前提

你的输入结构为外层仅包含一个属性(示例中为id),值为你需要保留的内层对象。


方案1:已知外层属性名(推荐,性能最优)

如果外层属性名固定为id,直接提取内层对象即可:

const origin = {
  "id": {
    "key":"value"
  }
};
// 声明新变量存储结果
const target = origin.id;

// 如需修改原变量,注意原变量需要用let声明而非const:
// let origin = { "id": { "key":"value" } };
// origin = origin.id;

适用场景:外层属性名固定可预知,代码可读性最高,运行无额外性能损耗。


方案2:未知外层属性名(通用场景)

如果外层属性名不固定,且外层永远只有一个属性,可以动态提取第一个属性值:

const origin = {
  "id": {
    "key":"value"
  }
};
const target = Object.values(origin)[0];

适用场景:外层属性名不固定,仅存在一个外层包裹属性的通用场景。


方案3:解构赋值写法

偏好ES6解构语法的可以用这种写法,逻辑和方案1一致:

// 已知外层属性名是id
const { id: target } = {
  "id": {
    "key":"value"
  }
};

// 直接修改原变量的写法:
// let origin = { "id": { "key":"value" } };
// ({id: origin} = origin);

边界情况说明

如果原对象外层可能存在多个属性,方案2只会返回第一个属性的值,需要根据业务逻辑调整筛选规则。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:05