首页 > web前端 > js教程 > 如何根据公共属性对数组中的对象进行分组?

如何根据公共属性对数组中的对象进行分组?

DDD
发布: 2024-12-23 00:35:26
原创
911 人浏览过

How Can I Group Objects in an Array Based on a Common Property?

按公共属性对对象进行分组

问题:

您有一个对象数组,其中每个对象都有一个“组”属性。您想要将此数组转换为一个新数组,其中相似的“组”属性值分组在一起。

所需输出:

myArray = [
  {group: "one", color: ["red", "green", "black"]},
  {group: "two", color: ["blue"]}
]
登录后复制

解决方案:

  1. 创建组名称到空的映射数组:
var group_to_values = {};
登录后复制
  1. 迭代输入数组:
myArray.forEach(function (item) {
    group_to_values[item.group] = group_to_values[item.group] || [];
});
登录后复制
  1. 对于映射中的每个键,使用组名称和数组值:
var groups = [];
for (var key in group_to_values) {
    groups.push({group: key, color: group_to_values[key]})
}
登录后复制
  1. 生成的组数组将按“group”属性进行分组。

以上是如何根据公共属性对数组中的对象进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板