小编典典

如何使用 lodash 过滤对象的键?

all

我有一个带有一些键的对象,我只想保留一些键的值?

我试过filter

const data = {

  aaa: 111,

  abb: 222,

  bbb: 333

};



const result = _.filter(data, (value, key) => key.startsWith("a"));



console.log(result);


<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>

但它打印一个数组:

[111, 222]

这不是我想要的。

如何用 lodash 做到这一点?或者如果 lodash 不工作的话?


阅读 81

收藏
2022-06-07

共1个答案

小编典典

Lodash 有一个_.pickBy功能可以完全满足您的需求。

var thing = {

  "a": 123,

  "b": 456,

  "abc": 6789

};



var result = _.pickBy(thing, function(value, key) {

  return _.startsWith(key, "a");

});



console.log(result.abc) // 6789

console.log(result.b)   // undefined


<script src="https://cdn.jsdelivr.net/lodash/4.16.4/lodash.min.js"></script>
2022-06-07