将数组项分组为对象
您的任务是将对象数组转换为包含分组对象的新数组,其中值将每个组组合成一个数组。以下是解决此问题的方法:
var myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ];
// Create a mapping of group names to arrays of values var group_to_values = myArray.reduce(function (obj, item) { obj[item.group] = obj[item.group] || []; obj[item.group].push(item.color); return obj; }, {});
// Convert the mapping to an array of grouped objects var groups = Object.keys(group_to_values).map(function (key) { return {group: key, color: group_to_values[key]}; });
生成的组数组将是:
[ {group: "one", color: ["red", "green", "black"]}, {group: "two", color: ["blue"]} ]
此方法利用减少和映射数组方法来有效地对数据进行分组和转换。
以上是如何在 JavaScript 中将数组项分组为对象?的详细内容。更多信息请关注PHP中文网其他相关文章!