javascript - 使用字符串调用对象
问题描述
我正在尝试创建一个finalResult
基于 variable定义变量的程序input
。该input
变量应该调用 object 内部的一个对象A
:
var input = "";
var A = {
AA: {
result: 0
},
AB: {
result: 1
}
}
var finalResult = A.input.result;
因此,如果input = "AA"
,则最终结果应为 0,但如果input = "AB"
,则最终结果应为 1。
解决方案
您可以这样做A[input].result
,它假定 的值input
作为属性存在于A
. 如果该属性不存在,您将在尝试访问result
时收到错误消息undefined
。您可以通过使用空对象对它进行 OR'ing 来防止这种情况:
(A[input] || {}).result // undefined if A[input] isn’t present
推荐阅读
- azure-virtual-machine - Invoke-AzVMRunCommand 可以运行目标 VM 上已存在的脚本吗?
- terraform - 天蓝色:格式错误的存储帐户密钥:输入字节 0 terraform CD 处的非法 base64 数据
- android - 通知声音在本机 Firebase v6 中不起作用?
- php - 在电子邮件中获取自定义结帐字段 woocommerce
- mysql - 如何在 MySQL 中获取按字段分组的最大计数?
- python - 使用 DBSCAN 进行聚类:如果不预先设置聚类数,如何训练模型?
- python - 如何在嵌套语句中将某些内容定义为 true?
- excel - 保存后上次修改工作簿的时间戳(不是上次保存的时间)
- python - Python Dataframe:根据另一列更改列的值?
- c++ - 我如何知道何时找到子文件夹目录的末尾?C++