首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据表对象数组中的数据分组到不同的对象数组

问将数据表对象数组中的数据分组到不同的对象数组
EN

Stack Overflow用户
提问于 2020-07-04 22:06:57
回答 1查看 68关注 0票数 0

我在数据表中有以下数据。

代码语言:javascript
复制
[
{'age': '25', 'name': 'mike'},
{'age': '25', 'name': 'john'},
{'age': '25', 'name': 'charles'},
{'age': '30', 'name': 'melanie'},
{'age': '30', 'name': 'cindy'}
]

我想使用Lodash或一些不那么混乱的方法来解析这个数组,以获得一个对象数组,其中对象有一个映射到字符串的键'age‘和一个映射到字符串数组的键’name‘。

因此,最终得到的数组将如下所示:

代码语言:javascript
复制
[
 {'age': '25', 'names': ['john', 'mike', 'charles']},
 {'age': '30', 'names': ['cindy', 'melanie']}
]

请在C#或VB.net中向我推荐一种实现此输出的方法。

EN

回答 1

Stack Overflow用户

发布于 2020-07-04 22:57:36

尝试以下操作:

代码语言:javascript
复制
            DataTable dt = new DataTable();
            dt.Columns.Add("age", typeof(int));
            dt.Columns.Add("name", typeof(string));
            
            dt.Rows.Add(new object[] {25, "mike"});
            dt.Rows.Add(new object[] {25, "john"});
            dt.Rows.Add(new object[] {25, "charles"});
            dt.Rows.Add(new object[] {30, "melanie"});
            dt.Rows.Add(new object[] {30, "cindy"});

            var groups = dt.AsEnumerable().GroupBy(x => x.Field<int>("age"));

            foreach (var group in groups)
            {
                Console.WriteLine("age : '{0}', names : '{1}'", group.Key, string.Join(",", group.Select(x => x.Field<string>("name"))));
            }
            Console.ReadLine();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62730120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档