cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

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
Highlighted
Community Support
Community Support

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
Continued Contributor
Continued Contributor

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.

Highlighted
Dual Super User II
Dual Super User II

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.
Highlighted
Community Support
Community Support

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
secondImage

New Return to Workplace

Reopen responsibly, monitor intelligently, and protect continuously with solutions for a safer work environment.

August 2020 CYST Challenge

Check out the winners of the recent 'Can You Solve These?' community challenge!

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Check this Out

Helpful information

Featuring samples like Return to the Workplace and Emergency Response Applications

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Users online (5,212)