链接基于相同键的数组数据

时间:2013-09-24 12:13:58

标签: javascript angularjs

阵列

[
  code: 'code',
  specName: [
              0: 'First',
              1: 'Second',
              2: 'Third'
            ],
  year: [
              0: '2011',
              1: '2012',
              2: '2013'
            ]
];

The Lowdown

我使用AngularJS使用ng-repeat="name in module.specName"输出数据。我想要做的是将year[0]specName[0]相关联,依此类推。所以我的输出看起来像:

 -------------------
| specName |  year  |
 -------------------
|  First   |   2011 |
 -------------------
|  Second  |   2012 |
 -------------------
|  Third   |   2013 |
 -------------------

问题

我是否可以指出如何实现这一目标的正确方向。是否有角度.filter,我必须在角度应用程序或其他东西中编写或重新构造一些数据。

2 个答案:

答案 0 :(得分:3)

<div ng-repeat="(key,value) in data.specName">
    <span>{{value}}</span>
    <span>{{data.year[key]}}</span>         
</div>

JS:

$scope.data={
    code: 'code',
    specName: {
        0: 'First',
        1: 'Second',
        2: 'Third'
    },
    year: {
        0: '2011',
        1: '2012',
        2: '2013'
    }
};

答案 1 :(得分:2)

如果您能够像这样重构数据:

$scope.data = {
  code: 'code',
  specs: [
     {name: 'First', year:2011 },
     {name: 'Second', year:2012 },
     {name: 'Third', year:2013 }
  ]
};

因此,您将能够非常轻松地显示它:

 <table>
     <tr ng-repeat="spec in data.specs">
        <td>{{spec.name}}</td>
        <td>{{spec.year}}</td>  
      </tr>
 </table>

工作示例:http://plnkr.co/edit/Ka8jM8?p=preview