从angularjs中的一组对象中获取特定对象
在网格列表中,我只想获取数组中的特定对象。这里是我的代码。从angularjs中的一组对象中获取特定对象
$scope.incIncObj = [];
$scope.gridList = {};
$scope.gridList.incIncObj = studyValue.incluExcluCriteria;
console.log(studyValue.incluExcluCriteria);
在C#中的的数据都是这样的,
var incluExcluCriteria = (from IE in _context.Incl_Excl_Criteria
where IE.Study_ID == request.Study_Id
select new
{
IE.Incl_Excl_Id,
IE.Study_ID,
IE.Criteria_Type,
IE.Criteria
}).ToList();
在控制台中,我让所有的名单,例如,
[Object { Incl_Excl_Id=2992, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2993, Study_ID=350, Criteria_Type="E", more...},
Object { Incl_Excl_Id=2994, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2995, Study_ID=350, Criteria_Type="E", more...},
Object { Incl_Excl_Id=2996, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2997, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2998, Study_ID=350, Criteria_Type="E", more...},
Object { Incl_Excl_Id=2999, Study_ID=350, Criteria_Type="E", more...}]
但我想只得到具有这样的Criteria_Type =“I”的对象,
[Object { Incl_Excl_Id=2992, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2994, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2996, Study_ID=350, Criteria_Type="I", more...},
Object { Incl_Excl_Id=2997, Study_ID=350, Criteria_Type="I", more...}]
给我任何建议
采用javascript filter
原型法来筛选阵列
$scope.gridList.incIncObj = studyValue.incluExcluCriteria.filter(function(obj){
return obj.Criteria_Type ==="I"
})
console.log(studyValue.incluExcluCriteria);
请注意您的JSON是无效的。使用冒号,而不是=
当你将值分配给物业
这{ Incl_Excl_Id=2992, Study_ID=350, Criteria_Type="I"}
应该改变
这个{ Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"}
var studyValue = [{ Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"T"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"S"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"K"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"}, { Incl_Excl_Id:2992, Study_ID:350, Criteria_Type:"I"} ]
var incIncObj = studyValue.filter(function(obj){
return obj.Criteria_Type ==="I"
})
console.log(incIncObj);
Thanks..Its工作正常:) –
@Vidhyasagar VASIS没有概率。如果这有助于确保vate和标记为答案:D –
为什么编写自定义过滤器?此代码可能无法在代码段中工作。但在您的应用程序中尝试使用此管道过滤器。我只是尝试自己,并为您提供简短的回答。
<div ng-repeat="c in collection | filter : 'I'">
<span>{{ c.Incl_Excl_Id}}</span>
<span>{{c.Study_ID}}</span>
<span> {{c.Criteria_Type }}</span>
</div>
</div>
另一个angualrjs方法将使用由角所提供的过滤器。
首先在您的控制器中注入$filter
服务。然后使用它像如下─
var filteredList = $filter('filter')(youFullList, {Criteria_Type:"I"})
使用过滤器来过滤仅CRITERIA_TYPE = “I” –