Javascript Angular JS控制器,带对象JSON数组过滤器
我有以下类型的JSON,我想找到JSON中状态为1的对象的数量,我尝试了以下方法,但它不起作用 我知道ng filter只需要应用于数组,但我没有在下面的JSON数据中找到这样做的方法,有人能帮我吗 我得到了预期的错误,但如何解决我的情况下这个问题Javascript Angular JS控制器,带对象JSON数组过滤器,javascript,angularjs,angularjs-controller,angularjs-filter,ng-filter,Javascript,Angularjs,Angularjs Controller,Angularjs Filter,Ng Filter,我有以下类型的JSON,我想找到JSON中状态为1的对象的数量,我尝试了以下方法,但它不起作用 我知道ng filter只需要应用于数组,但我没有在下面的JSON数据中找到这样做的方法,有人能帮我吗 我得到了预期的错误,但如何解决我的情况下这个问题 [filter:notarray]需要数组,但收到: 在下面的JSON数据中,正如您所看到的,我有一个带有数组的数组,我应该得到 值为1的状态计数 预期产出 第一个数组的计数:1 第二阵列计数:3 第三阵列计数:1 JSON数据 [ [
[filter:notarray]需要数组,但收到:
在下面的JSON数据中,正如您所看到的,我有一个带有数组的数组,我应该得到
值为1的状态计数
预期产出
第一个数组的计数:1
第二阵列计数:3
第三阵列计数:1
JSON数据
[
[{
"id": 252323,
"orderId": 223505,
"status": 1,
"executedOn": "13/Sep/17",
"executedBy": "Person A",
"executedByDisplay": "Person A",
"cycleId": 3994,
"cycleName": "Cycle A",
"versionId": 21291,
"versionName": "Version A",
"issueKey": "Key-12561"
}],
[{
"id": 253077,
"orderId": 224047,
"status": 1,
"executedOn": "26/Sep/17",
"executedBy": "Person B",
"executedByDisplay": "Person B",
"cycleId": 4012,
"cycleName": "Cycle B",
"versionId": 22912,
"versionName": "Version B",
"issueKey": "Key-12580"
}, {
"id": 253076,
"orderId": 224046,
"status": 2,
"executedOn": "20/Sep/17",
"executedBy": "Person B",
"executedByDisplay": "Person B",
"cycleId": 4012,
"cycleName": "Cycle B",
"versionId": 22912,
"versionName": "Version B",
"issueKey": "Key-12578"
}, {
"id": 253075,
"orderId": 224045,
"status": 1,
"executedOn": "20/Sep/17",
"executedBy": "Person B",
"executedByDisplay": "Person B",
"cycleId": 4012,
"cycleName": "Cycle B",
"versionId": 22912,
"versionName": "Version B",
"issueKey": "Key-12582"
}, {
"id": 253074,
"orderId": 224044,
"status": 1,
"executedOn": "20/Sep/17",
"executedBy": "Person B",
"executedByDisplay": "Person B",
"cycleId": 4012,
"cycleName": "Cycle B",
"versionId": 22912,
"versionName": "Version B",
"issueKey": "Key-12584"
}],
[{
"id": 255168,
"orderId": 226138,
"status": 1,
"executedOn": "26/Sep/17",
"executedBy": "Person A",
"executedByDisplay": "Person A",
"cycleId": 4022,
"cycleName": "Cycle C",
"versionId": 21291,
"versionName": "Version A",
"issueKey": "Key-12617"
}]
]
角JS代码
var app = angular.module('studentApp', []);
app.controller('StudentCntrl', function($scope, $http, $filter) {
$http.get('data.json').then(function(response) {
$scope.value = response.data;
$scope.value.forEach(function(items) {
$scope.eachValue = items;
items.forEach(function(insideItems) {
passvalue = $filter('filter')(insideItems, function(inputs) {
if (inputs.status == '1')
console.log(inputs.length);
return inputs;
});
});
});
});
});
你可以简单地使用
arr.filter( function(a){return a.status==1}).length
或者使用角度
$filter('filter')(v, function(vc) {return vc.status ==1}).length
您可以简单地使用
arr.filter( function(a){return a.status==1}).length
或者使用角度
$filter('filter')(v, function(vc) {return vc.status ==1}).length
谢谢,这正是我想要的!!有没有什么方法可以用angular js filter实现相同的东西?这就是我想要的!!我有没有办法用angular js filter实现同样的功能