如何查询 JSON 对象
How to query a JSON object
在我的 AngularJS 网络应用程序中,如何查询 JSON 对象?
例如,在下面的 JSON 对象中,我如何找到 reportTypeLabel 的值,其中 reportTypeId=3
JSON:
[
{
reportTypeId:5,
reportTypeCode:"FINREP",
reportTypeLabel:"Financial Reporting"
},
{
reportTypeId:9000002,
reportTypeCode:"REM HE",
reportTypeLabel:"High Earners"
},
{
reportTypeId:3,
reportTypeCode:"COREP LE",
reportTypeLabel:"Large Exposures - COREP"
}
]
您可以要求 $filter 服务并执行
var elements = $filter('filter')(arrayOfObjects,{reportTypeId: 3});
elements 将是包含 'reportTypeId' 的所有元素的数组
我建议阅读 angular 过滤器和 https://docs.angularjs.org/api/ng/service/$filter
如果您要广泛使用数据操作,我强烈建议您使用 JS 库,例如 underscore or lodash。
例如,使用下划线:
// assuming your object is called data
var result = _.findWhere(data, {
reportTypeId: 3
}).reportTypeLabel;
// result === 'Large Exposures - COREP'
您可以在数组上使用常规 filter
函数:
var items = [
{reportTypeId:5, reportTypeCode:"FINREP"},
{reportTypeId:9000002, reportTypeCode:"REM HE"}
];
var onlyMatching = items.filter(function(item){ return item.reportTypeId == 3; });
或 angular filter
html
<div ng-repeat="item in items | filter: {reportTypeId: '3'}">{{item. reportTypeLabel}}</div>
或 angular filter
通过 $filter
服务
module.controller('ItemsCtrl', function($filter){
$scope.filtered = $filter('filter')($scope.items,{ reportTypeId: '3' });
});
你可以这样做
<div ng-repeat="report in reports | filter:{reportTypeId:'3'}">
{{report.reportTypeCode}}
</div>
工作Fiddle
在我的 AngularJS 网络应用程序中,如何查询 JSON 对象?
例如,在下面的 JSON 对象中,我如何找到 reportTypeLabel 的值,其中 reportTypeId=3
JSON:
[
{
reportTypeId:5,
reportTypeCode:"FINREP",
reportTypeLabel:"Financial Reporting"
},
{
reportTypeId:9000002,
reportTypeCode:"REM HE",
reportTypeLabel:"High Earners"
},
{
reportTypeId:3,
reportTypeCode:"COREP LE",
reportTypeLabel:"Large Exposures - COREP"
}
]
您可以要求 $filter 服务并执行
var elements = $filter('filter')(arrayOfObjects,{reportTypeId: 3});
elements 将是包含 'reportTypeId' 的所有元素的数组 我建议阅读 angular 过滤器和 https://docs.angularjs.org/api/ng/service/$filter
如果您要广泛使用数据操作,我强烈建议您使用 JS 库,例如 underscore or lodash。
例如,使用下划线:
// assuming your object is called data
var result = _.findWhere(data, {
reportTypeId: 3
}).reportTypeLabel;
// result === 'Large Exposures - COREP'
您可以在数组上使用常规 filter
函数:
var items = [
{reportTypeId:5, reportTypeCode:"FINREP"},
{reportTypeId:9000002, reportTypeCode:"REM HE"}
];
var onlyMatching = items.filter(function(item){ return item.reportTypeId == 3; });
或 angular filter
html
<div ng-repeat="item in items | filter: {reportTypeId: '3'}">{{item. reportTypeLabel}}</div>
或 angular filter
通过 $filter
服务
module.controller('ItemsCtrl', function($filter){
$scope.filtered = $filter('filter')($scope.items,{ reportTypeId: '3' });
});
你可以这样做
<div ng-repeat="report in reports | filter:{reportTypeId:'3'}">
{{report.reportTypeCode}}
</div>
工作Fiddle