2013-05-14 175 views
0

當我嘗試訪問陣列對象(preivous_data)控制檯輸出該:JavaScript數組對象屬性未定義

[Object { label="line1", data=[13]}] 

如預期。但是,當我訪問數組對象屬性(preivous_data.data)時,控制檯給出undefined。我很困惑 - 我做了什麼錯誤,以便不在對象中顯示屬性data的數組值?

作爲進一步測試,我將對象轉換爲JSON.stringify,然後返回到JavaScript對象。再次,我發現訪問對象的屬性值相同的問題:

function dataUpdate(passed_onDataReceived_data){ 

     console.log("passed object")      // console output: passed object 

     preivous_data = passed_onDataReceived_data 
     console.log(preivous_data)      // console output: [Object { label="line1", data=[13]}] 
     console.log(preivous_data.data)     // console output: undefined 

     var JSON_Stringify = JSON.stringify(preivous_data); 
     console.log(JSON_Stringify)      // console output:[{"label":"line1","data":[[0,88],[1,28],[2,52],[3,7],[4,93],[5,78],[6,53],[7,64],[8,43],[9,77],[10,58],[11,74],[12,5]]}] 
     var myObject = eval('(' + JSON_Stringify + ')') 
     console.log(myObject)       // console output: [Object { label="line1", data=[13]}] 
     console.log(myObject.data)      // console output: undefined 
} 

任何幫助,將不勝感激。

回答

5

看起來像你有對象previous_data作爲一個數組。

[Object { label="line1", data=[13]}] 

所以你需要做previous_data[0].data來訪問數據屬性。

+0

謝謝你的答案。爲了在等待幫助時解決答案,我決定將data屬性複製到一個新的var中,然後對其進行處理,然後更新passed_onDataReceived_data。 – JnL 2013-05-16 03:22:14