使用Lodash过滤对象

时间:2016-07-25 01:57:14

标签: filter boolean lodash

我开始学习Lodash并希望过滤以下内容:

  betax <- 0
  for(k in 1:p){
    betax <- betax + beta[k]*x[i,k]
  }

我可以通过以下方式过滤真值:

{ 
 Cat:false,
 Dog: true,
 Fish:false
}

如何过滤只有错误值的对象?

2 个答案:

答案 0 :(得分:2)

filtered = _.pickBy(obj, function(value, key) {return !value;})

或相反,

filtered = _.omitBy(obj, function(value, key) {return value;})

答案 1 :(得分:0)

在你的情况下,不需要谓词,你可以写得更短:

const obj = {cat:false, dog:true, fish:false}

_.omitBy(obj)
// or
_.pickBy(obj, o => !o)
// or
_.pickBy(obj, _.negate(_.identity))