使用lodash基于其值过滤对象

时间:2016-02-17 20:00:40

标签: javascript

我如何使用lodash获得以下输出?

input = {
'property1' : true,
'property2' : false,
'property3' : false
}
// only pick those properties that have a false value
output = ['property2', 'property3'];

我目前有以下内容:

var output = [];
_.forEach(input, (value, key) => {
  if (value === false) {
   output.push(key);  
  }
});

2 个答案:

答案 0 :(得分:2)

普通JS你可以这样做:

var output = Object.keys(input).filter(function(k) { return input[k] === false })

答案 1 :(得分:1)

您可以使用lodash执行类似的操作:

const output = _.keys(_.pickBy(input, function(value, key) {return !value }));