I have the following object given:
JavaScript
x
11
11
1
{
2
"groupA": [
3
{data: 'foo'},
4
{data: 'bar'}
5
],
6
"groupB": [
7
{data: 'hi'},
8
{data: 'mom'}
9
]
10
}
11
I would like to append the parent object keys to all its array items like so:
JavaScript
1
11
11
1
{
2
"groupA": [
3
{data: 'foo', set: 'groupA'},
4
{data: 'bar', set: 'groupA'}
5
],
6
"groupB": [
7
{data: 'hi', set: 'groupB'},
8
{data: 'mom', set: 'groupB'}
9
]
10
}
11
How can I achieve this?
Advertisement
Answer
You can loop and set each item
JavaScript
1
12
12
1
const obj = {
2
"groupA": [
3
{data: 'foo'},
4
{data: 'bar'}
5
],
6
"groupB": [
7
{data: 'hi'},
8
{data: 'mom'}
9
]
10
};
11
Object.entries(obj).forEach(([key,val]) => val.forEach(item => item.set=key))
12
console.log(obj)