javascript - 将对象值作为关联数组值访问

标签 javascript

我有一个关联数组:

  instrumentLookup: {
    hh: {label: 'Hi Hat', type: 'hh'},
    kd: {label: 'Kick Drum', type: 'kd'},
    o1: {label: 'other1', type: 'o1'},
    o2: {label: 'other2', type: 'o2'}
  }

我认为这个结构还可以,但是可能还有更好的方法。

我正在尝试通过此函数从此列表中创建一个乐器,其中参数 addedInstrument 与标签的字符串相同,因此 hh, kdo1,....:

addInstrument: function(addedIntrument) {
  console.warn(addedIntrument);
  var newLabel = this.defaults.instrumentLookup.addedIntrument.label;
  var newType = addedIntrument;
  console.warn(newLabel + ' ' + newType)
  // push it to the list
  // this.unusedInstruments.push({label:newLabel, type:newType});
}

其中有几个问题,请随意回答任何或全部问题或提出替代方案:

  • 当对象是关联数组的值时,如何访问对象属性?
  • 我应该将其从关联数组更改为嵌套对象的数组[]{type: {other attrs}}吗?

最佳答案

您需要括号表示法来动态访问属性名称。

instrumentLookup[ addedIntrument ].label

关于javascript - 将对象值作为关联数组值访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17474699/

相关文章:

c# - 从一个链接下载多个文件

javascript - header需要在页面滚动时上下滑动

javascript - 在javascript中将树从db格式转换为json格式

javascript - JQuery UI 选择菜单不是函数

javascript - Class.prototype.method 与 this.prototype.method

javascript - 对话框未返回 true,因此由于事件发生而未触发 onClick

javascript - NodeJS - 可从客户端和 Node 访问不同的文件

javascript - 使用ES模块时是否隐含 'use strict'?

javascript - 如何在nodejs服务器上使用tensorflow js?

javascript - 检测用户是否通过浏览器后退按钮到达当前页面