Javascript 数组对象属性未定义

标签 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
}

如有任何帮助,我们将不胜感激。

最佳答案

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

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

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

关于Javascript 数组对象属性未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533698/

相关文章:

javascript - 替换所有出现的字符,除非它是字符串中的最后一个字符(javascript)

javascript - 添加或删除文本框,然后使用 PHP 或 Jquery 获取其值

javascript - 如何在旧版本的 Internet Explorer 中支持 HTML5 音频标签?

c - 未定义数组的默认地址是否始终是有效地址?

javascript - 将对象内部的对象数组作为多个对象 JavaScript

javascript - ng-repeat 导致 anchor 位置不正确

javascript - 为什么这个递归 javascript 函数返回未定义?

php $_GET 和 undefined index

php - Spl、ArrayObject、ArrayObject::STD_PROP_LIST

javascript - 如何使用 javascript/angularjs 比较两个对象数组?