使用参数检索对象属性
Retrieve object attribute using a parameter
我构建了一个简单的对象来模拟 table 这个问题的答案:Store a table of data in a JavaScript variable
建模的table是这样的:
| 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")
这样调用,然后 return 与 value_a
关联的 [D,T,M]
的值
我试过这种方法(我知道它不起作用),但我不知道是否可以使用参数作为属性的选择器。
如果没有,我如何传递参数和return相关属性值?
您可以使用 bracket notation 来完成此操作,例如 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
希望对您有所帮助!
我构建了一个简单的对象来模拟 table 这个问题的答案:Store a table of data in a JavaScript variable
建模的table是这样的:
| 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")
这样调用,然后 return 与 value_a
[D,T,M]
的值
我试过这种方法(我知道它不起作用),但我不知道是否可以使用参数作为属性的选择器。
如果没有,我如何传递参数和return相关属性值?
您可以使用 bracket notation 来完成此操作,例如 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
希望对您有所帮助!