假设我有以下物品。
myobj = {
'item1'{'key1':'value1'},
'item2'{'key2':'value2'}
}
如何定义一个我可以调用的函数:
var value = getMyObjItem('item2').getValue();
为了获得'value2'?我想避免定义'getItem'(带项目参数)和'getItemByValue'(带有项和键的两个参数)。
答案 0 :(得分:1)
目前还不清楚你想要什么,但我尽我所能地掌握了我的信息。以下功能以您要求的确切方式运行,可能是一个很好的例子,可以满足您的要求,而不是您需要的内容。尽管如此:
myobj = {
'item1': {'key1':'value1'},
'item2': {'key2':'value2'}
};
function getMyObjItem(key) {
return {
value: myobj[key]["key" + key.replace("item", "")],
getValue: function() {
return this.value;
}
};
}
var value = getMyObjItem('item2').getValue(); // will return "value2"
请注意,这只有在您维护示例中演示的完全属性方案时才有效。