# Picking random "x" amounts of objects in an array

Hello, thank you if you are going to read this.

## Problem

So I have two tables.
1st is Table A, it has 100 objects.
2nd is Table B, it has 5 objects

So I am trying to pick 5 random objects from table A. Then parent all the objects in Table B to the random 5 objects.

How will I achieve this?
Any help is appreciated!

This?

``````for Index = 1, 5 do
local RandomA = TableA[math.random(1, #TableA)]
TableB[Index].Parent = RandomA
end``````
1 Like

Thank you that gave me a basic idea on how I will implement this into my game

``````local shuffle = function(tbl)
local j
for i = 1, #tbl do
j = math.random(#tbl)
tbl[i], tbl[j] = tbl[j], tbl[i]
end
return tbl
end

--example, randomize song playlist
shuffle(playList)
print(table.unpack(playList))

--example, first 5 numbers of a shuffled sequence
shuffle(sequence)
for i = 1, 5 do
print(i, sequence[i])
end
``````

This is in case you wanted to make sure you did not get the same item multiple times in a row

Other solution without needing to shuffle the table:

``````local randSelect = function(tbl, count)
local result, lookup = table.create(count), {}
local j
for i = 1, count do
repeat
j = math.random(#tbl)
until not lookup[j]
lookup[j] = i
results[i] = tbl[j]
end
return results
end

print(table.concat(randSelect(sequence, 5), ", "))
``````
5 Likes

thank you so much for your well written answer, this helped me a ton!
Thanks again