假设你想在Javascript中做这样的事情:
const items = {identifier1, identifier2, identifier3 ...}
for (i = 0; i < items.length; i++) {
this.addMyMethod(items[i], items[i]);
}
...然后在脚本中的任何其他位置,您可以执行以下操作:
var result1 = this.MyMethod.identifier1.result;
var result2 = this.MyMethod.identifier2.result;
var result3 = this.MyMethod.identifier3.result;
...
console.log(result1, result2, result3, ...);
这很正常,但我想动态地做;像这样的东西:
method.allMyMethods = function() {
var results = [];
for (i = 0; i < items.length; i++) {
results.push[items[i]] = this.MyMethod.items[i].result;
}
console.log(JSON.stringify(results));
}
但是当我尝试这个时,使用上面的代码:
this.MyMethod.items[i].result;
... Javascript报告错误:
TypeError: Cannot read property 'items[0]' of undefined
我希望你明白我想要做什么(顺便说一句,我希望避免使用eval
)。
也许有人可以解释我的错误?
非常感谢
答案 0 :(得分:0)
您可能希望通过索引器进行查找:
this.MyMethod[items[i]].result;