2011-12-21 64 views
2

我建立具有數組類型的屬性對象的數組:的Javascript推複雜的對象

這裏有一些簡單的代碼:

var _data = []; 
for(var i=0;i<10;i++) { 
    var element = { 
     id: i, 
     answers: [] 
    }; 

    for(var j=0;j<3;j++) {       
    var answer = { 
     id: j, 
     description: '' 
    }; 
    element.answers.push(answer); 
    } 
    _data.push(element); 
} 

在兩個cicle陣列_data結束有10個元素,但每個元素的屬性答案爲空(我期望每個元素有3個項目)。 爲什麼會發生這種情況?它看起來像推不推動整個對象,但只是「一級屬性」。 感謝

+0

你的代碼適用於我,你確定它不是一個顯示問題?嘗試檢查'_data.toSource()'的輸出。 – 2011-12-21 14:56:14

回答

1

運行代碼的Firefox 8個結果如下_data數組:

_data:

[{id:0, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:1, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:2, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:3, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:4, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:5, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:6, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:7, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:8, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}, 
{id:9, answers:[{id:0, description:""}, {id:1, description:""}, {id:2, description:""}]}] 

也許你有一個錯字,因爲它是answersanswer

+0

抱歉,愚蠢的答案。 – ema 2011-12-21 15:08:36