I'm trying to find the most optimal way to get the length of a collection. Currently, I'm turning the collection into an array, and then getting the length of that. But the Discord.js docs specifically state not to use this method unless there is absolutely no way to do this using the collection.
So far, I've found no other way to get the length. Here is my code to find the length:
Array.from(collection.values()).length
Is there any better way than what I have above?
I am not 100% sure what is the 'collection' type, but I assume that it is either Set or Map.
In that case both have property size which returns current collection size:
collection.size
When you check the Discord.js docs, in the sidebar under the "Docs Settings" you can select what library's documentation you want to read. By default, it's the main library but you can select Commando, Voice, or Collection too.
By reading the docs, you can see that Collection is just a Map with additional utility methods, and by scrolling down you can see its properties and methods. And there is the .size property you're looking for that returns the number of elements in a Collection.
you can use spread operator [...array]
[...collection].length