我有一个带有一些键的对象,我只想保留一些键的值?
我试过filter:
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 不工作的话?
Lodash 有一个_.pickBy功能可以完全满足您的需求。
_.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>