0

我希望我的标题是正确的,因为我不知道如何命名我正在尝试做的事情......

"modifiers":{"agility":{"type":"attribute","displayname":"agi","value":46}}

是我从这里得到的 jsonp 回调的一部分。我正在尝试记录/访问value不同的modifiers

如果我使用它会起作用:

console.log(item1.modifiers.agility.value); /*item1 being item_list[0]*/

但是,如果不知道modifiers其他呼叫中的内容(可能是strengthwisdom两者兼而有之)怎么办。我如何访问它们?

我得到的最接近的是:

    for (var x in item1.modifiers){
        console.log(x);
        console.log(item1.modifiers.x.value);
    }

x正确记录为,agility但在要记录的语句中无效value

有没有办法将变量放在这样的“调用”中?如果不是,我还能如何解决这个问题?

4

1 回答 1

3

Javascript 对象只是散列,可以这样访问:

item1.modifiers[x].value

应该管用

解释:

JavaScript 中的任何对象都只是一个字典/哈希:

var x = { a: 1, b: 2, c: 3 };
x.a # = 1;
x['a'] # = 1;

因此,在您的情况下,您可以将整个内容重写为:

item1['modifiers'][x]['value']
于 2013-09-19T13:23:27.047 回答