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