[英]Angular $filter for deep filtering in arrays inside JSON response
我想过滤对象结构有点复杂的对象。 我正在寻找一种深度过滤,其中angular $ filter在数组内部的元素上起作用:
[
{
"schoolId": 12345,
"schoolName": "ZXCVB",
"classes": [
{
"classId": "C1",
"students": 50
},
{
"classId": "C2",
"students": 100
}
]
},
{
"schoolId": 98765,
"schoolName": "QWERTY",
"classes": [
{
"classId": "C1",
"students": 100
},
{
"classId": "C2",
"students": 50
}
]
}
]
(这是一所学校。每所学校都有一系列班级,每个班级都有ID)
在这里,我正在寻求帮助的是如何对classId进行过滤,以使其返回我的学校对象。
您应该使用自定义过滤器 ,定义自己的过滤器功能。 例:
.filter('classFilter', [function () {
return function (input, classId) {
if(!classId) return input;
var out = [];
input.forEach(function(s) {
s.classes.forEach(function(c){
if(c.classId==classId) out.push(s);
})
});
return out;
};
}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.