Javascript数组对象属性未定义

时间:2013-05-14 01:23:25

标签: javascript undefined arrayobject

当我尝试访问数组对象(preivous_data)时,控制台输出:

[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
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

看起来您将对象previous_data作为数组。

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

因此,您需要previous_data[0].data来访问数据属性。