亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

小白,請教各位大佬!javascript 數組中循環添加字典列表大佬們有什么好的建議?

小白,請教各位大佬!javascript 數組中循環添加字典列表大佬們有什么好的建議?

瀟瀟雨雨 2019-06-09 11:01:23
有三組以下格式的數組數據,想將這三組中的數據合并,出現問題報錯如下:TypeError:Cannotreadproperty'children'ofundefinedcategories:[{'id':0,'cname':''}]courses:[{'id':0,'category_id':0'coursename':'',}]chapter:[{'id':0,'courseid':0,'chaptername':''}]options:function(){letobj=newArray()letthat=this;for(leti=0;i
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

出錯原因
遍歷courses的時候,如果if語句結果是false,categories中會缺少courses信息,遍歷chapter的時候把數據push進categories下的courses里就會報錯
改進方案
遍歷chapter放在遍歷courses的if語句內
obj[i].children[k].children.push改為obj[i].children[coursesLength-1].children.push
過程分析
遍歷categories
執行第一次后的結構:[{label:'',value:'',children:[]}]
遍歷courses
執行第一次后的結構
iftrue的結構:[{label:'',value:'',children:[{label:'',value:'',children:[]}]}]
iffalse:[{label:'',value:'',children:[]}]
遍歷chapter
執行第一次的后的結構
如果上一層的結構是[{label:'',value:'',children:[]}],執行obj[i].children[k].children.push({label:'',value:''})會報錯
如果上一層的結構是[{label:'',value:'',children:[{label:'',value:'',children:[]}]}],執行結果會是期望的模樣[{label:'',value:'',children:[{label:'',value:'',children:[{label:'',value:''}]}]}]
                            
查看完整回答
反對 回復 2019-06-09
  • 2 回答
  • 0 關注
  • 308 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號