cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mdennis
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
v-xida-msft
Community Support
Community Support

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


@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.

Pstork1
Dual Super User III
Dual Super User III

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.
v-xida-msft
Community Support
Community Support

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
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (1,820)