JavaScript Grouped Scores Filter: Two Approaches Quiz
Filter a grouped scores object so each row keeps only requested keys, solved two ways (Object.entries + map and a for-in loop), plus companions on Map output and key-rename mapping.
Question Bank
Hard
JavaScript
quiz
arrays
hash-map
array-manipulation-patterns
281 views
6
Implement showOnly(obj, keys) using Object.entries(obj) + Array.prototype.map so each group is rewritten as a new array of objects that contain only the requested keys (skip keys that are missing on a row).
Examples
Example 1:
Input:
scores = {
groupA: [
{ score1: '123', score2: '2222', score3: '1321' },
{ score1: '234', score2: '44', score3: '11221' }
],
groupB: [
{ score1: '222', score2: '1717', score3: '131' },
{ score2: '2566', score3: '433' }
]
}
keys = ['score1', 'score3']
Output:
{
groupA: [ { score1: '123', score3: '1321' }, { score1: '234', score3: '11221' } ],
groupB: [ { score1: '222', score3: '131' }, { score3: '433' } ]
}
Explanation: Missing keys are silently omitted instead of producing `undefined` properties.3 more questions, with full solutions and explanations, are available for premium members.
Upgrade to Premium