当我尝试访问数组对象(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
}
任何帮助将不胜感激。
答案 0 :(得分:6)
看起来您将对象previous_data
作为数组。
[Object { label="line1", data=[13]}]
因此,您需要previous_data[0].data
来访问数据属性。