Skip to main content
Deno 2 is finally here 🎉️
Learn more

Collections

A library which adds a Collection data type.

What is a Collection?

A Collection is like an array of objects, but a Collection does this in a much more organized and controlled manner.

Each object is required to have a unique key, and a value.

Adding Entries

When initiating the Collection, you can provide a rest parameter of objects which will automatically be added to the Collection.

const collection = new Collection(
  // Add as many entries as you want.
  {
    key: "foo",
    value: "bar"
  },
  {
    key: "hello",
    value: "world"
  }
);

Or use the addEntry method which does the same thing as the constructor.

const collection = new Collection();

collection.addEntry(
  // Add as many entries as you want.
  {
    key: "foo",
    value: "bar"
  },
  {
    key: "hello",
    value: "world"
  }
);

Retrieving Values

There are several ways to retrieve values.

If you want to get the value of the first entry in the object use the first method.

console.log(collection.first()); // > "bar"

Or if you want to get the value of the last entry in the object use the last method.

console.log(collection.last()); // > "world"

If you need a specific value, use the get method and supply it with the key to the entry.

console.log(collection.get("hello")); // > "world"

Removing Values

To remove a value, use the remove method and supply it with the key to the entry.

collection.remove("foo");

console.log(collection.get("foo")); // > undefined

The remove method does not return anything.

Getting a Random Key

To get a random key, use the randomKey method.

console.log(collection.randomKey()); // > "foo" or "hello"

If you want to get a random valye yse the random method.

console.log(collection.random()); // > "bar" or "world"

Iterating Through a Collection

A Collection returns the key of an entry and the value of an entry when being used in a for .. of loop.

for(const [key,value] of collection){
  console.log(key,value); // > "foo bar" on first iteration and "hello world" on second iteration.
}

You can also just iterate through the keys using the keys method, which returns an array of all the keys in the Collection.

for(const key of collection.keys()){
  console.log(key) // > "foo" on first iteration and "hello" on second iteration.
}

You can also just iterate through the values using the values method, which returns an array of all the values in the Collection.

for(const value of collection.values()){
  console.log(key) // > "bar" on first iteration and "world" on second iteration.
}