我写了下面的函数来返回对象中与特定模式匹配的所有键。它似乎非常绕,因为在lodash中没有针对对象的筛选功能,当你使用它时,所有键都会丢失。这是使用lodash过滤对象键的唯一方法吗?
我编写了以下函数以返回与特定模式匹配的对象中的所有键。它似乎非常繁琐,因为lodash中没有针对对象的过滤函数,当您使用它时,所有键都会丢失。这是使用lodash过滤对象键的唯一方法吗?
export function keysThatMatch (pattern) {
return (data) => {
let x = _.chain(data)
.mapValues((value, key) => {
return [{
key: key,
value: value
}]
})
.values()
.filter(data => {
return data[0].key.match(pattern)
})
.zipWith(data => {
let tmp = {}
tmp[data[0].key] = data[0].value
return tmp
})
.value()
return _.extend.apply(null, x)
}
}