gpt4 book ai didi

javascript - Angular : ng-repeat with uniques values in particular method

转载 作者:行者123 更新时间:2023-11-29 15:35:25 25 4
gpt4 key购买 nike

我有一个这样的对象

$scope.listvalues = [{ name:A, id:101 },

{ name:B, id:102 },

{ name:A, id:103 },

{ name:C, id:101 },

{ name:A, id:102 },

{ name:B, id:103 }];

我需要按以下结构打印这个对象

name |101 | 102 |103 |
-----|----|-----|---------
A |YES | YES |YES |
-----|----|-----|------------
B |No | YES |YES |
-----|----|-----|-----------
C |YES | NO |NO |

这里我需要以唯一的方式打印名称“A”,还需要指明 A 可用于哪个 ID。是否可以使用 angularjs ng-repeat?任何人请建议...

最佳答案

你可以,但你必须写一个 filter将您的数据结构更改为以下内容:

$scope.data = [
{A: {'101': true, '102': true, '103': true}},
{B: {'101': false, ...}},
{C: ...}
]

然后你可以这样写你的表:

   <table>
<tr>
<th>name</th>
<th ng-repeat="(column, value) in data[0]">{{column}}</th>
</tr>
<tr ng-repeat="row in data">
<td ng-repeat="(column, value) in data[0]">{{row[column] ? 'Yes' : 'No'}}</td>
</tr>
</table>

示例过滤器:

yourModule.filter('makeNgRepeatable', function(){
return function(oldStructure) {
// Add code here to convert oldStructure to newStructure.
return newStructure;
}
});

在您的 Controller 中,注入(inject) makeNgRepeatableFilter 并执行

$scope.data = makeNgRepeatableFilter([{ name:A, id:101 }, ...]);

关于javascript - Angular : ng-repeat with uniques values in particular method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com