Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

[Solved] How do you return the number of items in a table?

Like say your table might be like this,

Extreme = {2, 4, "Hi", false, "ImmenseKassing"}

and you wanted to print how many items were inside the table, which in this case, would be 5.

What would you do?

2 answers

✓ Accepted answer

The method that 18cwatford described, with the #, would only work for elements that are in array order. Arrays are just tables defined explicitly with consecutive numerical indices, starting at 1.

For example, this is an array...

myArray ={2, 4, "Hi", false, "ImmenseKassing"}

On the other hand, this is a dictionary. It's similar to an array, but it has respective keys attached to each value. A key is like a map you can use to find the value you want; if you have the map, you can get the value.

myDictionary = {a = "test", b = "hi", c = "cat"}

But what happens if it's not in array format? # will return the number of elements that do follow the format... but what if we want them all, including the ones defined in dictionary format? Unfortunately, that means we will have to traverse through the entire table and count up the number ourselves.

Here's an example...

myArray ={2, 4, test = 3, false, "ImmenseKassing", wow = 4}

numberOfElements = 0
for key, value in pairs(myArray) do
	numberOfElements = numberOfElements + 1
end

print("Traversal Count :", numberOfElements) -- 6 elements
print("Count with # :", #myArray) -- 4 elements

You would put a # infront of it (the table or the variable the table is assigned to).

Examples:

local MyTable = {2, 4, "Hi", false, "ImmenseKassing"}
print(#MyTable) --> 5
print(#{1, "A", 6 + 12, true}) --> 4

This discussion is preserved as it was. New answers, comments, and votes are closed.