如何使用索引获取整个对象

时间:2015-07-06 12:17:44

标签: javascript json

嗨,我有一个json数据,我想用索引获取该对象。?我怎样才能做到这一点 ? 我的json数据是

[{
  "rec": ["act1","act2","act3"],
    "rec2": ["act11","act23","act4"]
}]

当我传递索引1时,我需要得到rec2。请帮忙

4 个答案:

答案 0 :(得分:1)

使用Object.keys

var obj = [{
  "rec": ["act1","act2","act3"],
    "rec2": ["act11","act23","act4"]
}];


obj[0][Object.keys(obj[0])[1]]

请参阅fiddle

答案 1 :(得分:0)

您可以修改Object.keys()以获取相应的命名索引:

var obj = [{
    "rec":  ["act1","act2","act3"],
    "rec2": ["act11","act23","act4"]
}];
var arr = obj[0][Object.keys(obj[0])[1]];
console.log(arr); // === ["act11", "act23", "act4"]

答案 2 :(得分:0)

你可以通过这种方式实现它。

var json =[{
  "rec": ["act1","act2","act3"],
    "rec2": ["act11","act23","act4"]
}]
var index = 1;

var keys = Object.keys(json[0]);

console.log(json[0][keys[index]]);

答案 3 :(得分:0)

不是最漂亮的方式,而且在索引很大的情况下获取项目效率不高! 你宁愿选择上面描述的Object.keys()方法,
这里包括它只是为了表明另一种方法。

var a = eval("[{\"rec\": [\"act1\",\"act2\",\"act3\"], \"rec2\": [\"act11\",\"act23\",\"act4\"]}]");
var cnt = 2;
var second = null;
for(var itm in a[0])
{
    if(--cnt == 0){
        second = itm;
        break;
    }
}   
alert(second);