cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
mdennis
Level: Powered On

Object keyed by variable

Is there any correct way to do something like:

 
Set(obj,{1:"one",2:"two",3:"three"})
Set(k,2)
 
obj[k] (would return "two")
 
(Please dont tell me the only way is to make a series of if statements)
1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Object keyed by variable

Hi @mdennis ,

Do you want to use the obj[k] formula to reference the value from your obj variable?

 

Based on the formula that you mentioned, I think there is something wrong with it. Firstly, the obj[k] formula is not supported within PowerApps currently.

 

In addition, the obj variable that you set within your app is an Object rather than an array. The obj[k] formula is used to reference values from an array.

 

I have made a test on my side, please take a try with the following workaround:

Set the OnStart property of the App control to following (initialize your obj variable):

ClearCollect(obj, {Id:1, Value:"one"}, {Id:2, Value:"two"}, {Id:3, Value:"three"})

Set the OnSelect property of a Button to following (press this button to set the k variable):

Set(k, 2)

Add a Label control within your app, set the Text property to following:

LookUp(obj, Id = k, Value)

More details about the LookUp function, please check the following article:

LookUp function

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
jhall
Level 8

Re: Object keyed by variable


@mdennis wrote:

Is there any correct way to do something like:

 
Set(obj,{1:"one",2:"two",3:"three"})
Set(k,2)
 
obj[k] (would return "two")
 
(Please dont tell me the only way is to make a series of if statements)

LookUp() is the path, but you might need to alter your initial Collection slightly.  For example:  

  • ClearCollect(obj,{id:1,value:"one"},{id:2,value:"two"],{id:3,value:"three"})
  • Set(k,2)
  • LookUp(obj,id=k,value)   
    • (returns "two")

It's possible this could be done w/o the Collection mod but I haven't tried it.

Dual Super User
Dual Super User

Re: Object keyed by variable

To add to @jhall 's answer. The syntax you were trying to use is an array.  PowerApps doesn't support an Indexed array.  But as was suggested you can easily make an indexed collection of objects and then access those objects using the index.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
Community Support Team
Community Support Team

Re: Object keyed by variable

Hi @mdennis ,

Do you want to use the obj[k] formula to reference the value from your obj variable?

 

Based on the formula that you mentioned, I think there is something wrong with it. Firstly, the obj[k] formula is not supported within PowerApps currently.

 

In addition, the obj variable that you set within your app is an Object rather than an array. The obj[k] formula is used to reference values from an array.

 

I have made a test on my side, please take a try with the following workaround:

Set the OnStart property of the App control to following (initialize your obj variable):

ClearCollect(obj, {Id:1, Value:"one"}, {Id:2, Value:"two"}, {Id:3, Value:"three"})

Set the OnSelect property of a Button to following (press this button to set the k variable):

Set(k, 2)

Add a Label control within your app, set the Text property to following:

LookUp(obj, Id = k, Value)

More details about the LookUp function, please check the following article:

LookUp function

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors (Last 30 Days)
Users online (5,109)