Reputation: 902
how i can to get object with keyword . also i want to get object value that include "_score" in object name i try to Object.key() but it not get child
i have this object
const data : {
name : "johny",
lname : "walker",
a_score : 30,
b_score : 40,
result : {
c_score : 50,
d_score : 60
}
}
how i can to return this data
{
a_score : 30,
b_score :40,
c_score :50,
d_score :60
}
Upvotes: 0
Views: 48
Reputation: 122057
You can use reduce()
method to create recursive function for this.
const data = {"name":"johny","lname":"walker","a_score":30,"b_score":40,"result":{"c_score":50,"d_score":60}}
const pick = (obj, key) => {
return Object.keys(obj).reduce((r, e) => {
if (typeof obj[e] == 'object') Object.assign(r, pick(obj[e], key))
if (e.includes(key)) r[e] = obj[e]
return r;
}, {})
}
console.log(pick(data, '_score'))
Upvotes: 1