---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/Collection.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/llms.txt

# Collection

Расширяет [ICollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md), [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md).

Базовая реализация коллекции объектов на карте.

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
Collection([options])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`options`](#param-options)| — | Тип: Object

Опции коллекции. ||
|#


## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events).||
|| [options](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options) | [IOptionManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOptionManager.md) | Менеджер опций.

Унаследовано от [ICustomizable](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options). ||
|#


## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#event-add) | Произошло добавление дочернего объекта. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- child - добавленный дочерний элемент.||
|| [mapchange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#event-mapchange) | Сменилась карта. Поля данных:
- oldMap - старая карта;
- newMap - новая карта.

Унаследовано от [IParentOnMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#event-mapchange).||
|| [optionschange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange) | Изменение в опциях объекта.

Унаследовано от [ICustomizable](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange).||
|| [parentchange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange) | Сменился родительский объект.

Поля данных:

- oldParent - старый родитель;
- newParent - новый родитель.

Унаследовано от [IChild](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange).||
|| [remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#event-remove) | Произошло удаление дочернего объекта. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- child - удаленный дочерний элемент. ||
- |#


## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#add)([child](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#add-param-child)) | [Collection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md) | Добавляет элемент в коллекцию.||
|| [each](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#each)([callback](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#each-param-callback)[, [context](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#each-param-context)]) | [Collection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md) | Вызывает функцию-обработчик для всех элементов коллекции.||
|| [filter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#filter)([filterFunction](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#filter-param-filterFunction)) | Object[] | Вызывает функцию-фильтр для всех элементов коллекции. При возвращении фильтром ненулевого значения элемент коллекции попадает в конечный массив.||
|| [get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#get)([index](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#get-param-index)) | Object | Возвращает элемент коллекции или null, если номер находится вне диапозона номеров коллекции.||
|| [getAll](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#getAll)() | Object[] | Возвращает массив со всеми элементами коллекции.||
|| [getIterator](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#getIterator)() | [IIterator](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IIterator.md) | Возвращает итератор для перебора элементов коллекции.||
|| [getLength](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#getLength)() | Number | Возвращает количество элементов коллекции.||
|| [getMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#getMap)() | [Map](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map.md) | Возвращает карту, которой принадлежит элемент коллекции.

Унаследован от [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#getMap).||
|| [getParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#getParent)() | [IParentOnMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md) | Возвращает родительский объект.

Унаследован от [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#getParent).||
|| [indexOf](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#indexOf)([childToFind](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#indexOf-param-childToFind)) | Number | Возвращает порядковый номер объекта в коллекции либо -1, если объект не найден.||
|| [onAddToMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onAddToMap)([map](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onAddToMap-param-map)) | | Функция, которая вызывается при добавлении элемента на карту. Для выполнения дополнительных действий при добавлении объекта на карту переопределите эту функцию.

Унаследован от [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onAddToMap).||
|| [onRemoveFromMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onRemoveFromMap)([oldMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onRemoveFromMap-param-oldMap)) | | Функция, которая вызывается при удалении элемента с карты. Для выполнения дополнительных действий при удалении объекта с карты переопределите эту функцию.

Унаследован от [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#onRemoveFromMap).||
|| [remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#remove)([child](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#remove-param-child)) | [Collection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md) | Удаляет элемент из коллекции.||
|| [removeAll](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md#removeAll)() | [Collection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md) | Удаляет все элементы коллекции.||
|| [setParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#setParent)([parent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#setParent-param-parent)) | [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md) | Устанавливает родителя для заданного элемента коллекции.

Унаследован от [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md#setParent). ||
|#

## Описание событий {#event_detail}

### add {#add}

Произошло добавление дочернего объекта. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- child - добавленный дочерний элемент.

### remove {#remove}

Произошло удаление дочернего объекта. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- child - удаленный дочерний элемент.

## Описание методов {#method_detail}

### add {#add}

```javascript
{Collection} add(child)
```

Добавляет элемент в коллекцию.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`child`](#add-param-child)[*](*star) | — | Тип: [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md)

Элемент, который необходимо добавить. ||
|#

\* Обязательный параметр/опция.

### each {#each}

```javascript
{Collection} each(callback[, context])
```

Вызывает функцию-обработчик для всех элементов коллекции.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`callback`](#each-param-callback)[*](*star) | — | Тип: Function

Функция-обработчик. На вход получает элемент коллекции. При возвращении функцией значения false перебор останавливается. ||
|| [`context`](#each-param-context)| — | Тип: Object

Контекст вызываемой функции. ||
|#

\* Обязательный параметр/опция.

### filter {#filter}

```javascript
{Object[]} filter(filterFunction)
```

Вызывает функцию-фильтр для всех элементов коллекции. При возвращении фильтром ненулевого значения элемент коллекции попадает в конечный массив.

**Возвращает** массив из элементов, которые попали в выборку.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`filterFunction`](#filter-param-filterFunction)[*](*star) | — | Тип: Function

Функция, которая является фильтром для объектов коллекции. Первым параметром принимает элемент из коллекции. Должна возвращать булевое значение. ||
|#

\* Обязательный параметр/опция.

### get {#get}

```javascript
{Object} get(index)
```

**Возвращает** элемент коллекции или null, если номер находится вне диапозона номеров коллекции.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`index`](#get-param-index)[*](*star) | — | Тип: Number

Порядковый номер элемента в коллекции. ||
|#

\* Обязательный параметр/опция.

### getAll {#getAll}

```javascript
{Object[]} getAll()
```

**Возвращает** массив со всеми элементами коллекции.

### getIterator {#getIterator}

```javascript
{IIterator} getIterator()
```

**Возвращает** итератор для перебора элементов коллекции.

### getLength {#getLength}

```javascript
{Number} getLength()
```

**Возвращает** количество элементов коллекции.

### indexOf {#indexOf}

```javascript
{Number} indexOf(childToFind)
```

**Возвращает** порядковый номер объекта в коллекции либо -1, если объект не найден.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`childToFind`](#indexOf-param-childToFind)[*](*star) | — | Тип: Object

Искомый объект. ||
|#

\* Обязательный параметр/опция.

### remove {#remove}

```javascript
{Collection} remove(child)
```

Удаляет элемент из коллекции.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`child`](#remove-param-child)[*](*star) | — | Тип: [collection.Item](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/collection.Item.md)

Элемент, который необходимо удалить. ||
|#

\* Обязательный параметр/опция.

### removeAll {#removeAll}

```javascript
{Collection} removeAll()
```

Удаляет все элементы коллекции.

**Возвращает** ссылку на себя.

<!-- XLIFF_FARM_YWYyZjcw_CACHING -->

[*star]: Обязательный параметр.