ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で配列項目をオブジェクトにグループ化するには?

JavaScript で配列項目をオブジェクトにグループ化するには?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-16 05:43:16636ブラウズ

How to Group Array Items into Objects in JavaScript?

配列項目をオブジェクトにグループ化する

オブジェクトの配列を、グループ化されたオブジェクトを含む新しい配列に変換するというタスクが課されています。各グループのデータが配列に結合されます。この問題にアプローチする方法は次のとおりです:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。