访问对象内的对象

时间:2011-04-14 20:10:22

标签: javascript

var data = {
     row: row,
     row2: row2
};

var tableData = [data.row,data.row2];

行对象也包含很多子对象...现在我如何放置tableData来访问每个单个对象。所以它就是这样......

var tableData = [data.row[1],data.row[2],data.row[3],,data.row2];

更新问题

var data = [row, row2];

在这种情况下,我将如何访问我的行子对象。

3 个答案:

答案 0 :(得分:1)

var data = {key: value, ... };

var tableData = [];
for (var k in data) {
    for (var i = 0, len = data[k].length; i < len; i++)) {
        tableData.push(data[k][i]);
    }
}

使用嵌套for循环和array.prototype.push

修改

for (var j = 0, len = data.length;j < len;j++) {
    for (var i = 0, len = data[j].length; i < len; i++)) {
        tableData.push(data[j][i]);
    }
}

您可以将for (var j in data)替换为for (var j = 0, len = data.length; j < len; j++)

后者

  • 将j设为0
  • 缓存长度,因此您只需要一次长度。
  • 检查j是否大于数组中元素的数量
  • 当你到达街区尽头时增加j。

答案 1 :(得分:1)

首先分配data.row,然后推送data.row2,如下所示:

var tableData = data.row
tableData.push(data.row2)

答案 2 :(得分:1)

这样的事情怎么样......

var data = {
    letters : ["a", "b", "c"],
    numbers : ["0", "1", "2", "3"]
};

data.letters; // ["a", "b", "c"]
data.letters[0]; // "a"
data.numbers; // "0", "1", "2", "3"]
data.numbers[2]; // "2"

......或者你可以试试这个......

var data = {
    letters : new Array("a", "b", "c"),
    numbers : new Array("0", "1", "2", "3")
};

data.letters; // ["a", "b", "c"]
data.letters[0]; // "a"
data.letters.push("d"); // the array is now ["a", "b", "c"]

data.numbers; // ["0", "1", "2", "3"]
data.numbers[2]; // "2"
data.numbers.pop(); // the array is now ["0", "1", "2"]

有关JavaScript数组的更多信息,请查看以下链接:

我希望这会有所帮助 赫里斯托斯