假设您想在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
(。
也许有人可以解释我的错误?
非常感谢
您可能想要通过索引来查找:
this.MyMethod[items[i]].result;