1

当我尝试访问数组对象 ( 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
}

任何帮助,将不胜感激。

4

1 回答 1

6

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

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

所以你需要做previous_data[0].data访问数据属性。

于 2013-05-14T01:26:20.520 回答