Lodash の pickBy 、または omitBy を使うと簡単です。
pickBy-and-omitBy-sample.js
let lodash = require('lodash');
let obj = {
'pick_a': 'a',
'pick_b': 'b',
'omit_c': 'c',
'omit_d': 'd'
};
/* obj から pick で始まる key だけからなるオブジェクト ( newObj ) を作成する */
let newObj;
// pickBy の例
newObj = lodash.pickBy(obj, function(value, key) {
return key.match(/^pick_/);
});
// => { 'pick_a': 'a', 'pick_b': 'b' }
// omitBy の例
newObj = lodash.omitBy(obj, function(value, key) {
return ! key.match(/^pick_/);
// or return key.match(/^omit_/);
});
// => { 'pick_a': 'a', 'pick_b': 'b' }
pickBy は ピックアップするか否かの boolean を返す function を第二引数に、 omitBy は オミットするか否かの boolean を返す function を第二引数に渡します。