引用JavaScript对象

时间:2017-06-21 04:40:30

标签: javascript

鉴于以下对象,我将如何动态访问两个级别的数据?

offset

我不应该按照以下方式做一些事情:

var object = {
    "one": {
        "0": "foo",
        "1": "foo foo",
        "2": "foo foo foo",
        "3": "foo foo foo foo",
        "4": "foo foo foo foo foo"
    },
    "two": {
        "0": "bar",
        "1": "bar bar",
        "2": "bar bar bar",
        "3": "bar bar bar bar",
        "4": "bar bar bar bar bar"
    }
};

输出是“foo foo foo foo”吗?

3 个答案:

答案 0 :(得分:3)

是。 确实如此。

$ cat so2.js
var object = {
  "one": {
    "0": "foo",
    "1": "foo foo",
    "2": "foo foo foo",
    "3": "foo foo foo foo",
    "4": "foo foo foo foo foo"
  },
  "two": {
    "0": "bar",
    "1": "bar bar",
    "2": "bar bar bar",
    "3": "bar bar bar bar",
    "4": "bar bar bar bar bar"
  }
};

var outer = "one", inner = "3";

console.log(object[outer][inner]);

$ node so2.js foo foo foo foo

答案 1 :(得分:0)

您可以尝试使用索引,但首先您需要获取键的索引"一个","两个" 。 类似的东西:

object[Object.keys(object)[0]][1]     // "foo foo"
object[Object.keys(object)[1]][1]     // "bar bar"

答案 2 :(得分:0)

以下是根据json对象访问所有值的代码:

for(var first in object)
{
    for(var second in object[first])
    {
        console.log(object[first][second]);
    }
}