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

TypeScript中如何获取与JSON对象属性同名的变量的值

实现方案

推荐优先使用类型安全的对象映射方案,无安全风险且符合TypeScript的类型校验规则:

步骤1:将零散的数值变量封装为映射对象

// 把原来的零散变量统一放到映射对象中,方便通过字符串key取值
const totalMap: Record<string, number> = {
  totalSer: 917,
  totalWor: 7237,
  totalAtm: 1410,
  totalCt: 1039,
  totalSt: 27
}

步骤2:遍历数组直接生成结果

可以直接用Array.map方法一行代码得到目标数组,不需要写for循环:

const totalAll: Array<number> = titleSheets.map(item => totalMap[item.properties.title])

运行后totalAll的值就是你需要的[1410, 7237]。


特殊场景妥协方案(不推荐)

如果你实在不想修改原有零散变量的定义,且变量是定义在全局作用域下,可以用以下写法,但是存在类型不安全、模块作用域下失效的问题:

const totalAll: Array<number> = titleSheets.map(item => (window as any)[item.properties.title])

注意:不要使用eval实现该需求,会引入代码注入的安全风险,同时也会破坏TypeScript的类型校验能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:15:04