Find index of an item in a collection


Userlevel 4
Badge +11

Hi,

Is there a way, without the use of a ForEach action, to query a collection variable by a value and get its index inside the collection?

I'm using Nintex Workflow 2013 on-premises

Giacomo


11 replies

Userlevel 7
Badge +17

No (Original Post)

Edit: From the help documentation, Exists returns a yes or no boolean that the value exists and not an index. But see Mike M​'s response, Exist does return an index.

Userlevel 7
Badge +17

HA, Sorry. I just wanted to post my shortest response ever. I can't find any way. There are no Collection operations that do this

Add

Remove

Count

Get

Exists

Sort

Pop

Join

Clear

Remove duplicates

Remove by value

And if you use Join, put into a string variable, there are no inline functions that can operate on the string to find an index

fn-Replace

fn-Remove

fn-Length

fn-Insert

fn-SubString

Userlevel 7
Badge +17

I didn't find anything using SharePoint calculated field formulas either

Calculated Field Formulas

Userlevel 7
Badge +17

So if this truly is the case, what are you trying to do with the collection?

Badge +7

laugh.png

Userlevel 5
Badge +12

That made me laugh grin.png

Userlevel 5
Badge +12

Hey all,

Actually you can do this with the Collection Operation action using Exists... but its not Andrews fault for not knowing because the Nintex documentation under the help menu is wrong.

.       You can use the "Exists" method of the Collection Operation to do exactly what you want.   Exists actually returns a numeric - the index of the 0 based collection.    You can log to history to see that this is true as I did below when I use Exists on the value Buffalo.  

Collection:

Index of Buffalo:

Cleveland;Columbus;Detroit;Buffalo;NYC;
3

Thanks,
Mike

Userlevel 7
Badge +17

Perfect Mike, thanks for checking it out for real! I should edit my response to not scare future readers away. (but it was so fun).

I'll get the help documentation updated to reflect this! Go Team!

Userlevel 4
Badge +11

Hi Mike M​,

thank you very much for your clue!! and also thank you Andrew Glasser​ for all the reply you have posted here happy.png, especially the first one!

Thanks again, I was not so confident that there is a solution but, as always, this community is great!

Giacomo

Badge +7

Is there more information on this? If I try to save the results of an "Exists" test into anything other than a boolean variable I'm getting a coercion error. 

Userlevel 4
Badge +11

Hi Jeff,

With a number (or integer, I don't remember exactly which one is ok) variable you should be fine

Reply