私の目標は、隠された、動的にno_parent、名前などのプロパティを設定することですが、それは私を与え続けて:がオブジェクトに動的にプロパティを設定できません
TypeError: Cannot set property 'name' of undefined
私はパラメータで渡す前にscorcroot
を初期化した場合でも。ここで
はコードです:
adattamento: function(data) {
var continua = true;
var scorcfat = this.famiglia;
var scorcroot = {};
this.controlloprimi(scorcroot, scorcfat);
this.root = scorcroot;
console.log("hey!")
console.log(this.root);
},
controlloprimi: function(scorcroot, scorcfat) {
scorcroot.name = scorcfat.name;
scorcroot.hidden = false;
scorcroot.no_parent = true;
if (scorcfat.father != null) {
if (scorcfat.mother != null) {
scorcroot.children = [{}, {}, {}];
this.controlloprimi(scorcroot.children[1], scorcfat.father);
scorcroot.children[2].name = "";
scorcroot.children[2].hidden = true;
scorcroot.children[2].no_parent = false;
this.controlloprimi(scorcroot.children[3], scorcfat.mother)
} else {
scorcroot.children = [{}]
this.controlloprimi(scorcroot.children[1], scorcfat.father);
}
}
if (scorcfat.mother != null) {
scorcroot.children = [{}, {}];
this.controlloprimi(scorcroot.children[1], scorcfat.mother);
}
},
ていることを確認してください 'scorcroot.children [2 ] 'は未定義ではありません。ちょうどポインタ、JSのインデックスは0から始まらず、1から始まる – Rajesh
はい問題は数字です...ありがとう – ImFireblade