Is it somehow possible to create a map or dictionary using variables for the keys? For example, is there some way for me to do something like a!map(localvar1:local!var2) to make a user generated map? Or maybe use a foreach loop over a 2d array to convert it to a map?
Discussion posts and replies are publicly visible
Hi Marco,
The only way I've found of doing this is utilising JSON. Is below sort of what you're looking for?
a!localVariables( local!keys: { "keyOne", "keyTwo", "keyThree" }, local!values: { 117, "Appian", now() }, local!keysAsJson: concat( "{", a!forEach( items: local!keys, expression: concat( char(34), fv!item, char(34), ":", char(34), char(34), if( fv!isLast, {}, "," ) ) ), "}" ), local!keysAsDictionary: a!fromJson(local!keysAsJson), reduce( a!update, local!keysAsDictionary, merge( local!keys, local!values ) ) )
That at least LOOKS like what I need. Gonna have to try it out to know for sure!
Let me know how you go. But I would agree with Mike above. The solution I've proposed is only needed if the keys are unknown and attributes of groups is a known thing. Unless I'm misunderstanding your use case I don't believe my solution is required.
I take that back - i think Marco is referring to the "Attributes" functionality provided within Group Types (which I've never used or seen used anywhere), but where the attributes of which are totally arbitrary.
Ooohhh. Yeah, I've never used or seen that either.