I have a JSON response body that looks like this:
[
{
"ExperimentPlanningId": 20,
"ExperimentId": "PT1011",
"AnalystId": 2,
"ExperimentTemplateId": 1,
"NumberoFPools": null,
"ExperimentStatus": "InProgress",
"NextProcess": "234343",
"CurrentProcess": "Test Process 1",
"NextStage": "Stage 1 2",
"CurrentStage": "Stage 1 2",
"NextProcessStartDate": "2022-10-15T14:00:00+00:00",
"CurrentProcessEndDate": "2022-10-15T14:00:00+00:00",
"ExperimentStartDate": "2022-10-14T15:00:00+00:00",
"ProjectedOutcome": null,
"ExperimentalDesign": null,
"IsActive": true,
"CreatedDate": "2022-10-14T20:10:42.8276862+00:00"
},
{
"ExperimentPlanningId": 20,
"ExperimentId": "JD2994",
"AnalystId": 2,
"ExperimentTemplateId": 1,
"NumberoFPools": null,
"ExperimentStatus": "InProgress",
"NextProcess": "234343",
"CurrentProcess": "Test Process 1",
"NextStage": "Stage 1 2",
"CurrentStage": "Stage 1 2",
"NextProcessStartDate": "2022-10-15T14:00:00+00:00",
"CurrentProcessEndDate": "2022-10-15T14:00:00+00:00",
"ExperimentStartDate": "2022-10-14T15:00:00+00:00",
"ProjectedOutcome": null,
"ExperimentalDesign": null,
"IsActive": true,
"CreatedDate": "2023-03-31T16:23:19.5981913+00:00"
}
]
I want to loop through the response body in Postman, find the MAX CreatedDate
and store the ExperimentId
associated with it, in a variable. So in the example above I’d want to store JD2994 in a variable.
I started with this, but am getting a max is not defined error:
var jsonData = JSON.parse(responseBody)
for (var i=0, len = jsonData.length; i<len; i++) {
var value = max(jsonData[i]["CreatedDate"]);
}
2
Answers
Here is a better loop
Reduce: