簡體   English   中英

Angular LoadAsh-過濾按類型匹配的多個對象上的字段匹配的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM