通过angularjs迭代多个字典中的键和值
iterate keys and values in multiple dictionaries by angularjs
我有一个json文件,其中包含一些不同的字典。它看起来像这样:
{
"variable_1": {
"1357840800": 74,
"1360519200": 71,
"1362938400": 83,
"1365616800": 74,
"1368208800": 78
},
"name": "TITLE",
"variable_2": {
"1357840800": 25817,
"1360519200": 28585,
"1362938400": 26946,
"1365616800": 30034,
"1368208800": 23316
},
"link": "title.html",
"variable_3": {
"1357840800": 1910483,
"1360519200": 2029593,
"1362938400": 2236587,
"1365616800": 2222556,
"1368208800": 1818661
}
}
我想把variable_1, variable_2 and variable_3
中的数据放在表的不同列中。任何变量都有相同数量的项,并且它们的数量是未知的(可能是1,2,3,5,8…)。所有字典中的键都是相同的。所以新的<td>
应该只包含来自另一个字典的值。
我编写代码是为了遍历一个字典,但我找不到访问多个字典的方法。
这是我只为一本字典编写的代码。我应该如何修改它来处理一些?
<table class="table ng-cloak" ng-if='isActive' ng-repeat="item in data | filter:isActive">
<thead>
<tr>
<th>#</th>
<th>Date</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr ng-repeat='(key, val) in item.variable_1'>
<td>{{ $index }}</td>
<td>{{ 1000*key + 1 | date:'MM.yyyy'}}</td>
<td>{{ val | splitdivisions }}</td>
</tr>
</tbody>
</table>
如果每个目录中的键彼此相关,则可以简单地进行
<tr ng-repeat='(key, val) in item.variable_1'>
<td>{{ $index }}</td>
<td>{{ 1000*key + 1 | date:'MM.yyyy'}}</td>
<td>{{ val | splitdivisions }}</td>
<td>{{ item.variable_2[key] }}</td>
<td>{{ item.variable_3[key] }}</td>
你可能想分享你的过滤器(我确实在这里删除了它们):
function MyCtrl($scope) {
$scope.data = {
"variable_1": {
"1357840800": 74,
"1360519200": 71,
"1362938400": 83,
"1365616800": 74,
"1368208800": 78
},
//"name": "TITLE",
"variable_2": {
"1357840800": 25817,
"1360519200": 28585,
"1362938400": 26946,
"1365616800": 30034,
"1368208800": 23316
},
//"link": "title.html",
"variable_3": {
"1357840800": 1910483,
"1360519200": 2029593,
"1362938400": 2236587,
"1365616800": 2222556,
"1368208800": 1818661
}
};
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
<div ng-controller="MyCtrl">
<table class="table" ng-repeat="(key, value) in data">
<thead>
<tr>
<th>#</th>
<th>Date</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr ng-repeat='(k, val) in value'>
<td>{{ $index }}</td>
<td>{{ 1000*k + 1 | date:'MM.yyyy'}}</td>
<td>{{ val }}</td>
</tr>
</tbody>
</table>
</div>
</div>
我确实玩了一些数据。。。并添加了一个自定义过滤器,请参阅jsFiddle
相关文章:
- 如何使用javascript在JSON中动态获取键和值
- 通过angularjs迭代多个字典中的键和值
- JavaScript JSON关联对象键和值都作为日期时间戳
- 使用下划线将键和值的两个数组合并到一个对象中
- jQuery动态更新数据键和值
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 在javascript中解析json对象以获取键和值
- 如何为json键和值提供工具提示消息
- 使用JSON键和值动态创建一个表
- 将对象完全转换为键和值的数组:更好的解决方案
- 确定html属性键和值的角度指令
- Javascript移除已知值的键和值数组
- 如何循环json数组以获取javascript中的键和值
- 如何将用户定义的键和值添加到数组中
- 显示关联阵列中所有元素的键和值
- 如何从 javascript 对象中删除键和值
- JavaScript:如何打印数组中的所有键和值
- 在 Javascript 中搜索多个键和值
- 包含键和值数组的字典
- Javascript在django模板中没有读取字典的键和值