javascript - 迭代对象数组以构建 div 结构

标签 javascript arrays angularjs angularjs-ng-repeat

我正在尝试创建一个如下图所示的结构,并在报告数组中重复这些数据。我知道我必须使用某种迭代来实现它,但我很迷失。

enter image description here

$scope.Reports = 
 [
 { Id: 1, Name: 'Report One', Year: 2016, Month: 5 },
 { Id: 2, Name: 'Report Core', Year: 2016, Month: 5 },
 { Id: 3, Name: 'Report Alpha', Year: 2016, Month: 3 },
 { Id: 4, Name: 'Report Moon', Year: 2015, Month: 5 },
 { Id: 5, Name: 'Report Sky', Year: 2015, Month: 2 }
 ];

我不确定是否需要创建另一个数组来存储一些数据。 像这样的事情

$scope.years = [];
$scope.months = [];

如有任何帮助,我们将不胜感激。谢谢

最佳答案

我想你可以使用 angular.filter 来做到这一点模块

<ul ng-repeat="(key, value) in Reports | groupBy: 'Year'">
  {{ key }}
  <ul ng-repeat="(key1, value1) in value | groupBy: 'Month'">
    O{{key1}} 
  <li ng-repeat="p in value1">
    {{p.Name }} 
  </li>
</ul>
</ul>

JSBin 希望对您有帮助

关于javascript - 迭代对象数组以构建 div 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325100/

相关文章:

javascript - Angularjs 指令在 textarea 插入符号处插入文本

python - 如何将一个 numpy 数组中的元素添加到另一个特定索引处的元素?

Python:如何将两个平面列表组合成一个二维数组?

javascript - AngularJS - 将自定义类指令应用于 ng-repeat 项目

css - Angular CSS 动画不起作用

javascript - JavaScript 中的事件处理是如何工作的?

javascript - jQuery DataTables - 自定义列可见性

javascript - 字符串变量值作为 IE11 上的对象键错误

javascript - 在 ReactJS 中遇到多个事件状态的问题

angularjs - md-list > md-item 上的 Angular Material Design 波纹