[英]Angular LoadAsh - filtering records matching by fields on Multiple Objects of different Type
我一直在努力學習loadash,以及如何使用一些更高級的技巧正確提取所需的數據。 單個對象和查找非常簡單,但是如果該groupId存在於另一個不同的對象中,則我試圖通過groupId提取所有數組記錄。
例如:對象的通用JSON示例,每個對象都是記錄數組。
Groups ..
{
groupId:
name:
code:
}
Options ..
{
groupId:
optionId:
name:
code:
}
我遇到的問題是,僅當loadash的Groups數組中存在該groupId時,才拉所有選項。
我嘗試過一些類似的東西
var results = [];
_.forEach(Groups, function(g) {
var found _.find(Options, g, function(option, group) {
return option.groupId === group.groupId;
})
results.push(found);
});
我沒有太多的運氣找出最好的方法來過濾掉它們。
如果有什么話可以感激,謝謝!
這樣的事情應該起作用,
var result = _.filter(Options, function(o) {
return _.filter(Groups, function(g) { return g.groupId == o.groupid; }).length > 0;
});
實際上我認為內部搜索使用find
會更好,因為它返回第一個匹配項,雖然不確定
var result = _.filter(Options, function(o) {
return _.find(Groups, { 'groupId': o.groupid });
});
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.