Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

get random numbers from multiple strings

Posted on 2009-05-17
Medium Priority
272 Views
I have three strings, and I want to pick a random item from one of the strings and return three variables: 1 the name of the string it is in 2 the name of the item in the string, and 3 the number of the item in the string. However, I need each item to be just as likely to be picked each time, even if one string has only one item in it and another has 50 items.

My current method causes the shortest strings items to occur more often because I am picking which string first etc.

I am working on a solution, but it seems very convoluted and overly long, perhaps I am missing something obvious.

- J

``````function determineImageToLoad() {
// picks a random list

// uses the number to pick which list to draw from

// pics a specific number from that list

// pics the name from that list that goes with the number
}
``````
0
Question by:jasotasticon
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions
1 Comment

LVL 4

Accepted Solution

Adam Chan earned 2000 total points
ID: 24410581
Hi jasotasticon,

Have you considered putting all the items in one array and random pick from there, and then identify which array it originated from afterwards?

See attached pseudo code

hope it helps
A
``````list1 {a, b}
list2 {c, d, e, f}
list3 {g, h, i, j, k, l}

lists {list, list2, list3}

master_ list = {a, b, d, e, f, g, h, i, j, k, l}    // do your random picking with this list

// say the item you picked is 'g'
// then you can do a simple loop with an array.indexOf(g) check to see
// which of the original 3 list it came from, and pull your other 2 variables out that way.

for each (list in lists)
if (list.indexOf(g) != -1)    // if 'g' is found in this list
variable1 = list
variable2 = g
variable3 = list.length
``````
0

Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a solution to a problem of subloading one movie into another when they have different SWF versions. Sometime back, I was working on an ActionScript project while I came across an interesting fact which I would like to share…
The last time I worked with Flash and Socket connections was in AS1. A recent project required flash connecting to a Socket, and sending receiving information - we figured it would be easy enough - we all know about the socket policy documents and c…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.
Suggested Courses
Course of the Month7 days, 3 hours left to enroll

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.