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

时间:2012-03-09 12:09:44

标签: javascript json object

对于以下树

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');

3 个答案:

答案 0 :(得分:3)

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

myObject[myKey]

在您的情况下,您需要以下内容:

var items = JSON.parse(items)

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

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

请注意,这只是返回数组items.drinks first 元素的名称。

答案 1 :(得分:2)

只需根据名称访问属性值即可。

使用括号表示法:

items['drinks'];

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

items.drinks;

答案 2 :(得分:0)

您也可以将对象作为关联数组访问。

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