將Json陣列轉換為樹形結構,再生成選單列表(待續)
阿新 • • 發佈:2019-02-18
<script type="text/javascript"> /*將Json陣列轉換為樹形結構*/ $(function(){ var list = ${functionList}; var data = transDate(list,"moduleid","parentid"); console.log(data); function transDate(list,moduleid,parentid){ var result = [],temp = {}; for(i = 0; i < list.length; i++){ temp[list[i][moduleid]]=list[i];//將nodes陣列轉成物件型別 } for(j=0; j<list.length; j++){ tempVp = temp[list[j][parentid]]; //獲取每一個子物件的父物件 if(tempVp){//判斷父物件是否存在,如果不存在直接將物件放到第一層 if(!tempVp["nodes"]) tempVp["nodes"] = [];//如果父元素的nodes物件不存在,則建立陣列 tempVp["nodes"].push(list[j]);//將本物件壓入父物件的nodes陣列 }else{ result.push(list[j]);//將不存在父物件的物件直接放入一級目錄 } } return result; } }) </script>