Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
MarkRoddy
Visitor

Number of Entries in an roAssociativeArray

It strikes me as kind of odd that there's no method on the roAssociativeArray object to access the number of entries it has, at least it's no listed in section 10.13 of the BrightScript Reference doc which lists all the methods for this class. Is there method that's missing from the documentation to accomplish this or do I need to an O(n) operation like below to determine the size of an associative array?

-Mark


Function AssocArrayCount(aa as object) as Integer
'Returns the number of entries in an roAssociativeArray
i = 0
for each k in aa
i = i + 1
end for
return i
End Function
0 Kudos
2 REPLIES 2
bbefilms
Visitor

Re: Number of Entries in an roAssociativeArray

add a key, i.e. 'length' and increment/decrement it when pushing/popping values?
0 Kudos
MarkRoddy
Visitor

Re: Number of Entries in an roAssociativeArray

"bbefilms" wrote:
add a key, i.e. 'length' and increment/decrement it when pushing/popping values?


I'm working on a function to compare two roAssociativeArrays for equality for brstest, so I won't know whether or not the user has done so before hand, but a decent idea for the non-general case.

Unfortunately for my case I'm comparing two of them so it's actually a O(n+m) operation to check for equality.
0 Kudos
Community is Temporarily in Read-Only Mode!

We’re upgrading Roku Community to bring you a faster, more mobile-friendly experience. You may notice limited functionality or read-only access during this time. You will not be able to log in or post new comments or kudos during this time. Read more here.

Planned Downtime:
Community will be unavailable for up to 24–48 hours during the upgrade window during the week of May 12 and you may notice reduced functionality. In the meantime, for additional assistance, visit our Support Site.

Thanks for your patience — we’re excited to share what’s next!