var dic = {
"0" : {pid:-1},
"1" : {pid:0},
"2" : {pid:0},
"11" : {pid:1},
"12" : {pid:1},
"3" : {pid:0},
"21" : {pid:2},
"22" : {pid:2},
"23" : {pid:2},
"24" : {pid:2},
"31" : {pid:3},
"32" : {pid:3},
"33" : {pid:3},
};
for(var i in dic){
if(dic[i].pid !==undefined){
var bl = dic[i].pid;
if(dic[bl]){ //-1不是表示true吗 为什么这里用dic[bl]表示就不行呢
alert(typeof dic[bl] + " " + typeof bl + " " + typeof dic[i].pid) //为啥dic[bl]是object类型,bl与dic[i].pid是number类型,dic[bl]与bl和dic[i].pid有什么区别吗
dic[bl].child || (dic[bl].child = []);
dic[bl].child.push(i);
}}}
1 回答
已采纳
橋本奈奈未
TA贡献436条经验 获得超108个赞
你获取了pid的值赋给bl,然后你又用dic[bl]来引用dic的属性了,假设pid的值是0,那么dic[0]就是指向dic的0这个属性对应的值,也就是{pid:-1},所以就是object类型,剩下的两个自己类比推理。
添加回答
举报
0/150
提交
取消