Angular で特定のプロパティごとにデータをグループ化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-26 01:34:10
オリジナル
988 人が閲覧しました

How can I group data by a specific property in Angular?

Angular でのデータの効果的なグループ化: groupBy フィルターの活用

Angular アプリケーションの領域では、複雑なデータ セットを効率的に整理して表示することが重要です。効果的なアプローチの 1 つは、特定の基準に基づいてデータをグループ化し、ユーザーが情報を簡単にナビゲートして理解できるようにすることです。

問題ステートメント

さまざまなチームに所属するプレーヤーのリストがあるとします。あなたの仕事は、このデータを構造化された方法で提示し、それぞれのチーム内の選手をリストすることです。例:

プレイヤー リスト:

[
  {name: 'Gene', team: 'team alpha'},
  {name: 'George', team: 'team beta'},
  {name: 'Steve', team: 'team gamma'},
  {name: 'Paula', team: 'team beta'},
  {name: 'Scruath of the 5th sector', team: 'team gamma'}
]
ログイン後にコピー

望ましい結果:

 - team alpha
    - Gene
 - team beta
    - George
    - Paula
 - team gamma
    - Steve
    - Scruath of the 5th sector
ログイン後にコピー

解決策: groupBy を利用するFilter

Angular は、という名前の貴重なフィルターを提供します。 groupBy を使用すると、指定したプロパティに基づいてデータを簡単にグループ化できます。このフィルターを活用すると、目的の結果を簡単に達成できます。

JavaScript コード:

$scope.players = [
  {name: 'Gene', team: 'alpha'},
  {name: 'George', team: 'beta'},
  {name: 'Steve', team: 'gamma'},
  {name: 'Paula', team: 'beta'},
  {name: 'Scruath', team: 'gamma'}
];
ログイン後にコピー

HTML テンプレート:

<ul ng-repeat="(key, value) in players | groupBy: 'team'">
  Group name: {{ key }}
  <li ng-repeat="player in value">
    player: {{ player.name }} 
  </li>
</ul>
ログイン後にコピー

結果

コードを実行すると、次のようになります。次の出力が得られます:

Group name: alpha
  * player: Gene
Group name: beta
  * player: George
  * player: Paula
Group name: gamma
  * player: Steve
  * player: Scruath
ログイン後にコピー

ご覧のとおり、プレーヤーはチームに従ってグループ化され、より組織的でユーザーフレンドリーなデータ表現が提供されます。

に関する追加の注意事項Angular.filter の使用

angular.filter のユーティリティを最大限に活用するには、次の重要な点に留意してください。手順:

  • モジュールの依存関係リストに 'angular.filter' を含めます。
  • index.html に angular-filter.js ファイルを含めて、Angular 自体の後にロードされるようにします。 .
  • 4 つの利用可能なインストール方法のいずれかを選択して、角度フィルターをプロジェクト。

以上がAngular で特定のプロパティごとにデータをグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート