我构建了一个简单的对象,它模拟了一个表,遵循这个问题的答案: 在 JavaScript 变量中存储数据表
建模表如下所示:
| Tension | Dissonance | Modal |
value_a | 1.234 | 5.324 | 7.24 |
value_b | 3 | 6.341 | 27.3 |
我想访问和检索单个条目value_a
(例如)的Tension
、Dissonance
和Modal
值,将所选参数传递给函数。
到目前为止,我尝试了这样的事情:
var myObj = {
value_a:{D:3.944,T:1.1606,M:5.3893},
value_b:{D:2,T:6.543,M:5.10},
myMethod: function(params) {
console.log(params);
console.log(this.params); //since this.value_a is a correct expression, i thought this might work, but it doesn't
}
};
我希望能够像myObj.myMethod("value_a")
一样进行调用,然后返回与value_a
关联的[D,T,M]
的值
我尝试了这种方式(我知道它不起作用),但我不知道是否可以使用参数作为属性的选择器。
如果没有,如何传递参数并返回相对属性值?
您可以使用括号表示法(如someObject[property_name]
)来执行此操作。括号内需要是字符串或符号。
var myObj = {
value_a: { D:3.944, T:1.1606, M:5.3893 },
value_b: { D:2, T:6.543, M:5.10 },
myMethod: function(params) {
console.log(params);
console.log(this[params]);
}
};
myObj.myMethod("value_a");
myObj.myMethod("value_b");
myObj.myMethod("foo"); // undefined
希望对您有所帮助!