Lodash _.filter超过1键

时间:2017-05-29 18:01:35

标签: filter lodash

我有这样的对象数组:

var chart = [
        {
            "IDACCT": 28,
            "LVLCOA": 2,
            "IDPRNT": 1,
            "NMACCI": "110-000 - ASSETS"
        },
        {
            "IDACCT": 76,
            "LVLCOA": 2,
            "IDPRNT": 1,
            "NMACCI": "170-000 - FIXED ASSETS"
        }
    ];

我想使用两个键返回我的搜索(谓词)所基于的对象:

d = _.filter(chart,function(o,e){
                return  o.LVLCOA === 2 && o.IDPRNT === e        
            });

这不是'工作。我需要为函数提供一些参数。问题e在功能中无法识别。

2 个答案:

答案 0 :(得分:0)

当然,当您尝试将数字与未声明的变量e进行比较时,它不会。我想你想把它与另一个数字进行比较?

答案 1 :(得分:0)

在您的特定情况下,您可以设置一个包含两个filter()调用的链,并完全取消谓词函数。传递filter()对象缩写就足够了:

var e = 1;
var d = _(chart)
  .filter({ LVLCOA: 2 })
  .filter({ IDPRNT: e })
  .value();
相关问题