从对象中提取名称与测试匹配的属性 [英] From an object, extract properties with names matching a test
本文介绍了从对象中提取名称与测试匹配的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 props 对象,它将包含一组未知的属性,我想根据它们的前缀提取其中的一些属性.我有一些有用的东西(很棒!)但似乎很啰嗦,我想知道是否有更惯用的方法?
I have a props object which will contain an unknown set of properties, some of which I want to extract based on their prefix. I have something that works (great!) but it seems long-winded, and I want to know if there's a more idiomatic way of doing it?
const props = {
bingo: 1,
bongo: 2,
mingo: 3,
bango: 4
}
const bFields = {}
Object.keys(props).filter(k => (k.startsWith('b'))).forEach(k => (
bFields[k] = props[k]
))
console.log(props)
console.log(bFields)
推荐答案
您也可以使用 reduce:
const props = {
bingo: 1,
bongo: 2,
mingo: 3,
bango: 4
}
const bFields = Object.keys(props).reduce((acc, prop) => {
if (prop.startsWith('b')) {
acc[prop] = props[prop]
}
return acc
}, {})
console.log(props);
console.log(bFields);
这篇关于从对象中提取名称与测试匹配的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文