Scenario : Using groupBy method to group students by Roll Numbers. Then the objective is to iterate a list of roll Numbers from an input array and use each of the roll number as key to get the objects from the groupBy response.
problem : unable to use rollnumbers as a dynamic key when trying to fetch the data from the grouped students object.
INPUT:
[
{
"name": "ABC",
"rollNumber": 123,
"subject": "Maths",
"marks": 80
},
{
"name": "ABC",
"rollNumber": 123,
"subject": "ENG",
"marks": 87
},
{
"name": "BKB",
"rollNumber": 324,
"subject": "ENG",
"marks": 80
},
{
"name": "REW",
"rollNumber": 543,
"subject": "Maths",
"marks": 80
}
]
%dw 2.0
output application/json
var studentsGroupedByRollNumbers = payload groupBy ((item, index) -> item.rollNumber)
var studentsToCheck = ["123","543"]
---
studentsToCheck map ((item, index) ->
studentsGroupedByRollNumbers.($item) reduce ......
)
Can anyone suggest a solution or an optimized approach for this please ? Thanks