ホームページ >ウェブフロントエンド >jsチュートリアル >共通のプロパティに基づいて配列内のオブジェクトをグループ化するにはどうすればよいですか?

共通のプロパティに基づいて配列内のオブジェクトをグループ化するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-23 00:35:26939ブラウズ

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

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