Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
516 views
in Technique[技术] by (71.8m points)

javascript - 如何用lodash过滤对象的键?(How to filter keys of an object with lodash?)

I have an object with some keys, and I want to only keep some of the keys with their value?

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

I tried with 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> 

But it prints an array:

(但是它会打印一个数组:)

[111, 222]

([111,222])

Which is not what I want.

(这不是我想要的。)

How to do it with lodash?

(用lodash怎么做?)

Or something else if lodash is not working?

(如果lodash无法正常工作,还是有其他原因?)

  ask by Freewind translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Lodash has a _.pickBy function which does exactly what you're looking for.

(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> 


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...