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

使用数组方括号表示法访问JavaScript对象属性相关问题咨询

问题解决

错误原因

  • 点运算符访问对象属性时,点后方的内容会被识别为固定的属性名字面量,你写的object.array[1]实际执行逻辑是:先查找object中名为array的属性,再对该属性取下标1,和你预期的「取array变量的第1项作为属性名访问object」完全不符。
  • 对象属性名本身就默认是字符串或Symbol类型,不存在「array[1]被识别为字符串导致错误」的问题,核心问题是属性访问语法使用错误。

正确实现方案

使用JS提供的方括号属性访问语法即可,方括号内部的表达式会被自动计算,最终将计算结果作为属性名访问对象:

let array = ["tom","tony", "jerry"];

let object = {
  tony: "Brother", 
  tom: "Uncle", 
  jerry: "Cousin", 
};

// 替换原有的object.array[1]即可
console.log(object[array[1]]); // 输出结果为 Brother

方括号访问的逻辑会先计算array[1]得到字符串"tony",再执行object["tony"],和直接写object.tony的访问效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:27:01