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

JavaScript数组嵌套对象访问异常:无法获取指定元素属性

关于JavaScript数组嵌套对象访问的问题解答

嘿,我来帮你理清这个问题~首先明确说:JavaScript完全支持数组索引.对象属性这种访问方式,所以不是语言特性不支持的问题,大概率是你的数据结构定义或者变量初始化出了问题。

下面是几种最常见的原因,你可以逐一排查:

  • 变量tequila没被正确定义为数组
    如果你不小心把它定义成了对象(比如let tequila = {}),或者根本没初始化,那tequila[3]会返回undefined,再访问.price自然会报错。一定要确保它是数组类型:let tequila = []。

  • 数组的第4个元素(索引3)不是对象
    如果tequila[3]是null、undefined,或者是字符串/数字这类非对象值,那它没有price属性。比如你可能误把数据写成了tequila[3] = "Tequila X",这时候它是字符串,访问.price肯定无效。

  • 对象属性名拼写不匹配
    检查你的酒瓶数据里,价格属性是不是真的叫price——比如可能写成了Price(首字母大写)、priceUSD或者cost,拼写错了的话,tequila[3].price会返回undefined。

给你一个正确的结构示例,你可以对照自己的代码看看:

// 正确的数组嵌套对象结构
const tequila = [
  { name: "Casamigos Blanco", price: 45.99, abv: 40 },
  { name: "Patrón Reposado", price: 54.99, abv: 40 },
  { name: "Don Julio Añejo", price: 69.99, abv: 40 },
  { name: "Clase Azul Extra Añejo", price: 199.99, abv: 40 } // 索引3,第4个元素
];

// 正确访问价格
console.log(tequila[3].price); // 输出 199.99

排查小技巧:先在控制台打印console.log(tequila)看看整个数组的结构,再打印console.log(tequila[3])确认这个元素是不是你预期的对象,最后检查对象里的属性名是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:58:11