193、数据结构:嵌套变平级

仅供作者自己观看

var allDatas = res.data[0];
var fourMenuLast = [];
var repeatA = '';
var repeatB = '';
angular.forEach(allDatas.children, function (item1) {//步骤1,40
  var fourMenu = {//步骤2,
    myMenu1: {},
    myMenu2: {},
    myMenu3: {}
  };
  fourMenu.myMenu1.name = item1.name;//步骤3,
  fourMenu.myMenu1.id = item1.id;//步骤4,
  fourMenu.myMenu1.showname = item1.name;//步骤5,
  angular.forEach(item1.children, function (item2) {//步骤6,20,
    fourMenu.myMenu2.name = item2.name;//步骤7,21,
    fourMenu.myMenu2.id = item2.id;//步骤8,22,
    fourMenu.myMenu2.showname = item2.name;//步骤9,23,
    angular.forEach(item2.children, function (item3) {//步骤10,15,24,30,35,
      fourMenu.myMenu3.name = item3.name;//步骤11,16,25,31,36,
      fourMenu.myMenu3.id = item3.id;//步骤12,17,26,27,32,37,
      fourMenu.myMenu3.showname = item3.name;//步骤13,18,28,33,38,
      fourMenuLast.push(angular.copy(fourMenu));//步骤14,19,29,34,39,
    });
  });
  //fourMenuLast=[fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu];
  $scope.rowSpan1 = {}; //某个一级导航合并的行数
  angular.forEach(fourMenuLast, function (item) {
    if ($scope.rowSpan1[item.myMenu1.id]) {
      $scope.rowSpan1[item.myMenu1.id] += 1;
    } else {
      $scope.rowSpan1[item.myMenu1.id] = 1;
    }
    if (item.myMenu1.id === repeatA) {
      item.myMenu1.name = '';
    } else {
      repeatA = item.myMenu1.id;
    }
  });
  $scope.rowSpan2 = {}; //某个二级导航合并的行数
  angular.forEach(fourMenuLast, function (item) {
    if ($scope.rowSpan2[item.myMenu2.id]) {
      $scope.rowSpan2[item.myMenu2.id] += 1;
    } else {
      $scope.rowSpan2[item.myMenu2.id] = 1;
    }
    if (item.myMenu2.id === repeatB) {
      item.myMenu2.name = '';
    } else {
      repeatB = item.myMenu2.id;
    }
  });
  $scope.allroles = fourMenuLast;
})

猜你喜欢

转载自www.cnblogs.com/gushixianqiancheng/p/12668585.html
今日推荐