使用变量作为对象的属性,如何?

使用变量作为对象的属性,如何?

问题描述:

对于下面的树使用变量作为对象的属性,如何?

var items = { 
    'drinks': [ 
    { 
     'name': 'coke', 
     'sugar': '1000' 
    }, 
    { 
     'name': 'pepsi', 
     'sugar': '900' 
    } 
    ] 
}; 

有没有办法做这样的事情

function get_values(data) { 
    var items = JSON.parse(items) 
    return items.data[0].name; 
} 
get_values('drinks'); 

如果您希望使用变量的内容作为访问器的属性,你必须使用数组语法:

myObject[myKey] 

在你的情况,你需要的东西,如:

var items = JSON.parse(items) 

function get_values(data) { 
    return items[data][0].name; 
} 

get_values('drinks'); // returns "coke" 

请注意,这是专门只返回第一个元素的名称items.drinks

简单地访问基于其名称的属性值。

使用括号标记:

items['drinks']; 

或者,使用点符号,which is possible in this case

items.drinks; 

您可以访问一个对象作为关联数组了。

console.log(items['drinks']);

+0

有没有这样的事情作为“JSON对象”。 – Alnitak 2012-03-09 12:19:30