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

如何在JavaScript/TypeScript中访问未知外层键对象的value属性

访问未知外层键对象中的value属性

遇到这种外层键名不确定但内部结构固定的对象,其实有好几种简单的方法能拿到value,我给你整理几个常用的:

方法1:使用Object.values()直接取内部对象

这个方法最直观,直接提取对象所有的值——因为你只有一个外层键,所以取数组的第一个元素就行:

const obj = { '-L7uAVxXmuLeBN1K-B0_': { timestamp: '18:35:18', value: 19.81 } };
const innerObj = Object.values(obj)[0];
const value = innerObj.value;
console.log(value); // 输出 19.81

方法2:用Object.keys()获取外层键再访问

如果你需要同时拿到那个未知的外层键,这个方法更合适:

const obj = { '-L7uAVxXmuLeBN1K-B0_': { timestamp: '18:35:18', value: 19.81 } };
const outerKey = Object.keys(obj)[0];
const value = obj[outerKey].value;
console.log(value); // 输出 19.81

方法3:解构赋值(更简洁的写法)

ES6+的解构语法可以一步到位,适合追求代码简洁的场景:

const obj = { '-L7uAVxXmuLeBN1K-B0_': { timestamp: '18:35:18', value: 19.81 } };
const [ { value } ] = Object.values(obj);
console.log(value); // 输出 19.81

TypeScript中的写法(类型安全版)

如果用TS,你可以先定义内部对象的类型,避免类型报错:

interface InnerData {
  timestamp: string;
  value: number;
}

const obj: { [key: string]: InnerData } = { '-L7uAVxXmuLeBN1K-B0_': { timestamp: '18:35:18', value: 19.81 } };
const [ { value } ] = Object.values(obj);
console.log(value); // 类型推断为number,输出19.81

注意:这些方法都默认你的外层对象只有一个键值对,如果有多个的话,你需要遍历处理(比如用for...in或者Object.values().map()),不过从你的例子看应该是单个键的情况~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:36:23