Javascript 为什么数据为空?
我今天遇到了一个错误,我不知道为什么会发生。在第二个for循环中,对数据的访问将是未定义的,而不是作为参数插入函数中的数据。不知何故,数据得到的是null值,而不是传递给此函数的对象。有人知道为什么吗?我得到的错误是“数据未定义” 如果我执行以下操作,上面的代码将起作用Javascript 为什么数据为空?,javascript,object,Javascript,Object,我今天遇到了一个错误,我不知道为什么会发生。在第二个for循环中,对数据的访问将是未定义的,而不是作为参数插入函数中的数据。不知何故,数据得到的是null值,而不是传递给此函数的对象。有人知道为什么吗?我得到的错误是“数据未定义” 如果我执行以下操作,上面的代码将起作用 createDataObject: function (data) { let dataObj = data.source[0]; let backedData = data.backed
createDataObject: function (data) {
let dataObj = data.source[0];
let backedData = data.backedData; //create the backedData variable here
for (let i in dataObj) {
let d = dataObj[i];
d.data = { source: d.data };
}
for (let i = 0; i < backedData.length; i++) {
let bd = backedData[i]; // no Error
let data = bd.data[0];
//.....
}
}
createDataObject:函数(数据){
设dataObj=data.source[0];
让backedData=data.backedData;//在此处创建backedData变量
for(让我输入dataObj){
设d=dataObj[i];
d、 数据={来源:d.data};
}
for(设i=0;i
在第二个循环中,创建另一个数据对象。不在for循环的第一行上创建数据。
试用
for (let i = 0; i < data.backedData.length; i++) {
let bd = data.backedData[i];
let d= bd.data[0]; // Convert data to d or another variable name
//.....
}
for(设i=0;i
console.log(backedData)
null
与“未定义”有很大不同。确切的错误是什么?真的是那条线把它扔出去了吗?当您将相关变量记录到控制台时会发生什么情况?@Jackstine但是它会在第一行抛出。for循环没有什么特别之处。您可以将其作为函数中的第一行代码:console.log(data.backedData[0])
。它要求backedData为数组。无法使用提供的代码复制该行为:
createDataObject: function (data) {
let dataObj = data.source[0];
let backedData = data.backedData; //create the backedData variable here
for (let i in dataObj) {
let d = dataObj[i];
d.data = { source: d.data };
}
for (let i = 0; i < backedData.length; i++) {
let bd = backedData[i]; // no Error
let data = bd.data[0];
//.....
}
}
for (let i = 0; i < data.backedData.length; i++) {
let bd = data.backedData[i];
let d= bd.data[0]; // Convert data to d or another variable name
//.....
}