我正在研究一個Ionic
混合應用程序,但我在Javascript
/AngularJS
中頗爲新穎。另一個陣列的AngularJS濾波器陣列
我有這樣的數據結構:
var objects= [
{
name: "o1",
company: {
id:2,
fields: [1,6]
}
},
{
name: "o2",
company: {
id:2,
fields: [3,4,5]
}
}
];
var selectedFields= [
{
id: 1,
name: "f1",
},
{
id: 2,
name: "f2",
}
];
我要篩選與包含在selectedFields array
的元素對應的元素objects array
含有的ID(在屬性company.fields
)。
例如,在這種情況下,我們有2個元素,o1
和o2
。 o1
包含fields
1
和6
,並且o2
包含fields
3
,4
和5
。 selectedFields array
包含fields
與ids
1
和2
,所以在這種情況下,過濾的object
應該是對象o1
。
這是我曾嘗試:
var filteredObjects = filterFilter(objects, selectedFields,function(o, sf){
return angular.forEach(o.company.fields, function (field) {
return field.id == sf.is;
});
});
但它說,o is undefined
。
和:
var result = [];
angular.forEach(objects, function(o){
angular.forEach(o.company.fields, function(f){
angular.forEach(selectedFields, function(sf){
if(sf.id == f.id) {
result.push(o);
}
});
});
});
但condition if(sf.id == f.id)
是永遠true
。
任何想法?感謝
謝謝你們!這正是我正在尋找的... – Saxophonist