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

如何通过变量存储的键名从JSON对象中获取对应值(无需循环与点语法)

解决方案:用方括号语法动态访问对象属性

嘿,太懂你卡了几小时的那种挫败感!问题根源其实是JavaScript里点语法和方括号语法的核心区别:

  • 你写land.key的时候,JS会直接去land对象里找名叫"key"的属性,而不是你定义的变量key的值(也就是"water"),这就是为啥拿不到想要的结果。
  • 要通过变量动态获取属性值,必须用方括号语法,把变量放进方括号里就搞定了。

针对你的代码,正确写法是这样的:

const land={ water : "cool", air : "heat" };
const key = "water";
console.log(land[key]); // 会输出 "cool"

顺便给你捋下两种语法的适用场景:

  • 点语法:适合你明确知道属性名的静态场景,比如land.water。
  • 方括号语法:适合动态场景——不管是用变量、表达式,还是属性名带空格/特殊字符,都能搞定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:27:37