-1
今日はエラーに遭遇しましたが、なぜそれが発生したのかわかりません。 2番目のforループでは、関数へのパラメータとして挿入されたデータではなく、データへのアクセスが未定義になります。この関数に渡されたObjectではなく、何らかの形でデータがnullの値を取得します。なぜ誰が知っていますか?私が得るエラーは、 "データが定義されていません"です。なぜData Nullですか?
createDataObject: function (data) {
let dataObj = data.source[0];
let backedData = data.backedData;
for (let i in dataObj) {
let d = dataObj[i];
d.data = { source: d.data };
}
for (let i = 0; i < data.backedData.length; i++) {
let bd = data.backedData[i]; //<- this is where the error occurrs
let data = bd.data[0];
}
}
私が使っていた試してみると、オブジェクトの外側のコードがありますが、これはあなたのコンソールまたはノードで動作します。私はJavascriptコンパイラのバグに遭遇したようです。私はわかりません。
createDataObject({source: [[{data: 1}]], backedData: [1,2,3, 4]});
私はあなたが別のデータオブジェクトを作成し、forループ秒で
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];
//.....
}
}
'はconsole.log(backedData)' –
'null'なので "が定義されていない" とは非常に異なっものですを使用してみてください。 * exact *エラーとは何ですか?それは本当にそれを投げる正確な行ですか?関連する変数をコンソールに記録するとどうなりますか? – David
backDataは未定義ではなく、データは未定義です。 – Jackstine