Class: Collection

ol.Collection

An expanded version of standard JS Array, adding convenience methods for manipulation. Add and remove changes to the Collection trigger a Collection event. Note that this does not cover changes to the objects within the Collection; they trigger events on the appropriate object, not on the Collection as a whole.

new ol.Collection(opt_array)

src/ol/collection.js, line 28
Name Type Description
array Array.<T>

Array.

Fires:

Extends

Classes

Event

Observable Properties

Name Type Settable ol.ObjectEvent type Description
length number no change:length

The length of the array.

Methods

changed() inherited experimental

src/ol/observable.js, line 58

Increases the revision counter and dispatches a 'change' event.

clear()

src/ol/collection.js, line 48

Remove all elements from the collection.

dispatchEvent(event) inherited experimental

src/ol/observable.js, line 75

Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a type property.

Name Type Description
event Object | ol.events.Event | string

Event object.

extend(arr){ol.Collection.<T>}

src/ol/collection.js, line 62

Add elements to the collection. This pushes each item in the provided array to the end of the collection.

Name Type Description
arr Array.<T>

Array.

Returns:
This collection.

forEach(f, opt_this)

src/ol/collection.js, line 80

Iterate over each element, calling the provided callback.

Name Type Description
f function

The function to call for every element. This function takes 3 arguments (the element, the index and the array). The return value is ignored.

this S

The object to use as this in f.

get(key){*} inherited

src/ol/object.js, line 148

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getArray(){Array.<T>}

src/ol/collection.js, line 93

Get a reference to the underlying Array object. Warning: if the array is mutated, no events will be dispatched by the collection, and the collection's "length" property won't be in sync with the actual length of the array.

Returns:
Array.

getKeys(){Array.<string>} inherited

src/ol/object.js, line 162

Get a list of object property names.

Returns:
List of property names.

getLength(){number}

src/ol/collection.js, line 115

Get the length of this collection.

Returns:
The length of the array.

getProperties(){Object.<string, *>} inherited

src/ol/object.js, line 172

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited experimental

src/ol/observable.js, line 84

Get the version number for this object. Each time the object is modified, its version number will be incremented.

Returns:
Revision.

insertAt(index, elem)

src/ol/collection.js, line 126

Insert an element at the provided index.

Name Type Description
index number

Index.

elem T

Element.

item(index){T}

src/ol/collection.js, line 104

Get the element at the provided index.

Name Type Description
index number

Index.

Returns:
Element.

on(type, listener, opt_this){ol.EventsKey|Array.<ol.EventsKey>} inherited

src/ol/observable.js, line 99

Listen for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

this Object

The object to use as this in listener.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

once(type, listener, opt_this){ol.EventsKey|Array.<ol.EventsKey>} inherited

src/ol/observable.js, line 124

Listen once for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

this Object

The object to use as this in listener.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

pop(){T|undefined}

src/ol/collection.js, line 140

Remove the last element of the collection and return it. Return undefined if the collection is empty.

Returns:
Element.

push(elem){number}

src/ol/collection.js, line 151

Insert the provided element at the end of the collection.

Name Type Description
elem T

Element.

Returns:
Length.

remove(elem){T|undefined}

src/ol/collection.js, line 164

Remove the first occurrence of an element from the collection.

Name Type Description
elem T

Element.

Returns:
The removed element or undefined if none found.

removeAt(index){T|undefined}

src/ol/collection.js, line 183

Remove the element at the provided index and return it. Return undefined if the collection does not contain this index.

Name Type Description
index number

Index.

Returns:
Value.

set(key, value, opt_silent) inherited

src/ol/object.js, line 197

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean

Update without triggering an event.

setAt(index, elem)

src/ol/collection.js, line 199

Set the element at the provided index.

Name Type Description
index number

Index.

elem T

Element.

setProperties(values, opt_silent) inherited

src/ol/object.js, line 217

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

Name Type Description
values Object.<string, *>

Values.

silent boolean

Update without triggering an event.

un(type, listener, opt_this) inherited

src/ol/observable.js, line 147

Unlisten for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

this Object

The object which was used as this by the listener.

unByKey(key) inherited

src/ol/observable.js, line 168

Removes an event listener using the key returned by on() or once(). Note that using the ol.Observable.unByKey static function is to be preferred.

Name Type Description
key ol.EventsKey | Array.<ol.EventsKey>

The key returned by on() or once() (or an array of keys).

unset(key, opt_silent) inherited

src/ol/object.js, line 231

Unsets a property.

Name Type Description
key string

Key name.

silent boolean

Unset without triggering an event.