cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
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
Highlighted
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.

Super User
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
firstImage

Microsoft Business Applications Virtual Launch Event

Join us for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

FirstImage

Power Platform World Tour

Coming to a city near you

thirdimage

PowerApps Community User Group Member Badge

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

FourthImage

Join PowerApps User Group!!

Connect, share, and learn with your peers year-round

Top Kudoed Authors
Users Online
Currently online: 71 members 3,277 guests
Recent signins:
Please welcome our newest community members: