Basically, I want “Def(number)” to be matched with the table number. For example, if I have Def3, I want it to be 3rd in the table. However, the image shown below does not do that.
Note: I have done this before (Weeks 13, 14), but this Week (week 15) doesn’t work. You can see the Weeks in Explorer in the image below.
Why is Def3 and Def11 at the bottom? I have no idea why.
Because the way :getChildren works isnt by some sorting of the names, the way :getChildren is a bit more complicated and it probably won’t help you much even if I explained it. In any way, if you need to sort them into the table so their indexed match with their number, you can make a loop function to sort them for you.
To make it as simple as possible, I would recommend you to rename all the “Def1” into just “1”, so you dont have to filter the strings and just convert the string name into the number. After you renamed them all in roblox, create an empty table for the sorted values, then make a pairs loop to iterate through the children and assign every value to an index of its name converted with tonumber() function
Of course, you can do it slightly differently, and you’ll have to adjust the number of values, but you can do it like this
local Table = {}
local Folder = script.Parent
local MaxValue = #Folder:GetChildren()
print(MaxValue)
for X = 1,MaxValue do
table.insert(Table,Folder:FindFirstChild("Def"..X))
end
local folder = script.Parent.Define
local folder_table = folder:GetChildren()
local sorted_table = {}
for i, v in ipairs(folder_table) do
table.insert(sorted_table, v)
end
print(sorted_table)
Currently, it is probably by the order you created them as instances, however I myself am not absolutely sure in this. In any way, you can’t rely on them being matching on a running server from this procedure, if you want the indexes and values to match with their names, you will have to make a sorting function of some kind.
As others have said, GetChildren’s order isn’t defined and shouldn’t be relied on. It can at times, seem like it’ll be one way, but a change to the engine could break that behavior the next day. You should definitely sort that table if you want a defined ordering