【发布时间】:2016-05-24 01:51:42
【问题描述】:
我编写了下面的函数来返回对象中与特定模式匹配的所有键。看起来真的很迂回,因为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)
}
}
【问题讨论】:
标签: javascript lodash