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

如何用变量访问JSON对象动态键?求该数据访问方式名称

解决JavaScript对象属性的动态访问问题

嘿,你现在用的是JavaScript里的点表示法(dot notation)来访问对象属性,这种方式适合属性名固定的场景,但要换成变量动态访问的话,得用方括号表示法(bracket notation)——这就是你要找的解决方案啦!

举个实际的例子,假设你已经在别的地方声明了一个存储日期的变量,比如const targetDay = "Tuesday",那你的代码可以改成这样:

// 假设这是你外部声明的日期变量
const targetDay = "Tuesday"; // 可以换成"Monday"、"Wednesday"等任意日期字符串

getWeekData(UserId, weekNumber).then((data) => {
  if (!data.Item || !data.Item.weekTotal) {
    console.log("Week Data Not Found");
  } else {
    weekExercise = data.Item.weekTotal;
    // 用方括号+变量来动态获取对应日期的数据
    dayTotal = data.Item[targetDay];
    // 后续的逻辑代码...
  }
});

小知识点补充:

  • 点表示法的局限:只能用固定的、符合标识符规则的属性名(不能有空格、特殊字符,也不能是变量)
  • 方括号表示法的灵活性:可以接受任意字符串作为属性名,不管是变量、带空格的字符串还是带特殊符号的属性名都能处理

比如如果你的属性名是"Day 1"这种带空格的,点表示法data.Item.Day 1会报错,但用方括号data.Item["Day 1"]就完全没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:15:55