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

如何用变量组合名称检查JavaScript多维对象的属性是否存在?

问题解答

你之前的代码逻辑错误出在对变量的引用上,area是存储区域名称的变量,你误写成了area[productName],这根本不是你要检查的属性名。正确的验证需要分三层递进:

  1. 先确认store自身包含area对应的属性
  2. 再确认该区域子对象自身包含productName对应的属性
  3. 最后比对该属性的值是否等于color

用&&连接这三个条件,利用逻辑与的短路特性,前面条件不满足时不会执行后续代码,避免出现访问不存在属性的报错。

正确代码如下:

const res = store.hasOwnProperty(area) && 
            store[area].hasOwnProperty(productName) && 
            store[area][productName] === color;

举个实际例子,假设:

  • area = 'area1'
  • productName = 'my product name'
  • color = 'red'

这段代码会依次验证:

  • store是否有'area1'属性 → 是
  • store.area1是否有'my product name'属性 → 是
  • 该属性的值是否等于'red' → 是
    最终res会返回true。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:00:16