列表处理成父子结构的数据

  // 待处理的数据
  var
map = [{ id: 3, name: 3, parentId:1 },{ id: 1, name: 1 },{ id: 2, name: 2, parentId:1 }]   // 将每个对象存在obj id => item var obj = {} for(var i = 0; i< map.length; i++){ let item = map[i] if(!obj[item.id]){ obj[item.id] = item item.children = [] } } // arr 处理即将储存的数据 var arr = [] for(var i = 0; i< map.length; i++){ let item = map[i] if(item.parentId){
       // 如果父元素存在,就把当前对象添加到父元素的children下面 obj[item.parentId].children.push(item) }
else{
       // 如果是顶级元素,直接添加到数组里 arr.push(item) } }
原文地址:https://www.cnblogs.com/hill-foryou/p/11475197.html