码迷,mamicode.com
首页 > Web开发 > 详细

net core 通过js打印集合(创建树)

时间:2019-07-03 14:04:46      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:控制台   lin   val   集合   parentId   sys   namespace   col   div   

 结合ASP.NET CORE,将控制器执行后的数据结果打印在网页控制台

技术图片

技术图片

将行数据转为树形结构(采用linq+lambda+递归)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace WebApplication1.Logic.CreateTree
{
    public class Node
    {
        public int id;
        public string name;
        public int? parentid;
    }
    public class NewNode
    {
        public int id;
        public string name;
        public int? parentid;
        public List<NewNode> items;
    }

    public static class TreeFns
    {
        public static List<NewNode> CreateNewTree(List<Node> originalList)
        {
            List<NewNode> nodes = originalList.Where(v => v.parentid == null).Select(v => new NewNode() { id = v.id, name = v.name, parentid = v.parentid, items = new List<NewNode>() { } }).ToList();
            foreach (NewNode node in nodes)
            {
                node.items = GetAllLeaves(node, originalList);
            }
            return nodes;
        }

        public static List<NewNode> GetAllLeaves(NewNode val, List<Node> originalList)
        {
            List<NewNode> nodes = originalList.Where(v => v.parentid == val.id).Select(v => new NewNode() { id = v.id, name = v.name, parentid = v.parentid, items = new List<NewNode>() { } }).ToList();
            foreach (NewNode node in nodes)
            {
                node.items = GetAllLeaves(node, originalList);
            }
            return nodes;
        }
    }
}

结果

技术图片

 

  

 

net core 通过js打印集合(创建树)

标签:控制台   lin   val   集合   parentId   sys   namespace   col   div   

原文地址:https://www.cnblogs.com/cat66/p/11125677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!