配列項目をオブジェクトにグループ化する
オブジェクトの配列を、グループ化されたオブジェクトを含む新しい配列に変換するというタスクが課されています。各グループのデータが配列に結合されます。この問題にアプローチする方法は次のとおりです:
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"]} ]
このアプローチでは、reduce メソッドと map 配列メソッドを効率的に利用します。データをグループ化して変換します。
以上がJavaScript で配列項目をオブジェクトにグループ化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。