I would like to use a loop to iterate through all values in an associative array. For the life of me, I cannot find the interator function for associative arrays. Is it simply impossible to step through all values in an associative array if they are not at pre-known keys?!
In my associative array, the keys are strings and the values are lists. I need to iterate through the entire associative array, and for each key, read something from the value.
This is my (incomplete) script. I am a semi-veteran of some programming languages but I am a noob at JMP script.
Where I put comments inside /* */ is where there is code that I don't know how to do. I am stuck at /*For all parts in lastTests*/ near the bottom, though I don't know if the rest of my script works because I haven't tried running any of it yet.
By the way, the JMP scripting guide has a very brief section on associative arrays and it does not tell you how to iterate through elements within an associative array 
Please help!
dt = Current Data Table();
lastTests = Associative Array();
For Each Row (
partKey = Char(:Name("214:ReadOTP:OTP_Row_40[1]") + 256*:Name("215:ReadOTP:OTP_Row_41[1]") + 256*256*:Name("223:ReadOTP:OTP_Row_49[1]") + 256*256*256*:Name("224:ReadOTP:OTP_Row_4a[1]") + 256*256*256*256*:Name("123:LOG_SETPOINT_SPEA:SPEA_Setpoint[1]"));
rowValue = {:Name("start_t"), :Name("part_id"), Row()};
If (Is List(lastTests[partKey]) == 1,
If ( rowValue[1] > lastTests[partKey][1], //if start_t is later
lastTests[partKey] = rowValue,
//else if
(rowValue[1] == lastTests[partKey][1]) & (rowValue[2] > lastTests[partKey][2]), //if start_t is the same but part_id is larger
lastTests[partKey] = rowValue;
),
//else
lastTests[partKey] = rowValue;
);
);
listOfRowsToSelect = {};
/*For all parts in lastTests*/(
selectedPart = /*get present item*/;
Insert Into(listOfRowsToSelect, selectedPart[3]);
);
dt << Select Rows( listOfRowsToSelect );
/*Invert Selection*/;
/*Hide and Exclude selected rows*/;
dt << Clear Select;