---
metadata:
  - name: generator
    content: Diplodoc Platform v5.37.1
alternate:
  - https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/jsapi-v1-1/doc/ru/llms.txt

# YMaps.Group

Класс для создания набора объектов.

Позволяет объединять в группы объекты любого типа. Если требуется создать группу из объектов пользовательского класса, то класс [YMaps.Group](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md) может быть расширен по примеру класса [YMaps.OverlayGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md).

## Конструктор

Имя | Описание
----- | -----
[YMaps.Group](group.md#constructor)() | Создает набор объектов.


## Поля

Имя | Описание
----- | -----
[Events](group.md#Events) | Список событий группы объектов.

## События

Имя | Описание
----- | -----
[Add](group.md#event-Add) | Добавление объекта в группу.
[Remove](group.md#event-Remove) | Удаление объекта из группы.

## Методы

#|
|| **Имя** | **Возвращает** | **Описание** ||
||[add](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#add)(object, index) |  | Добавляет объект в группу. Генерирует событие YMaps.Group.Add.||
||[filter](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#filter)(callback, context, noRecursion) | Object[] | Отбирает объекты группы, удовлетворяющие условиям, заданным в функции проверки. Возвращает массив отобранных объектов.||
||[forEach](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#forEach)(callback, context) |  | Выполняет callback-функцию для каждого объекта группы.

В функцию передаются следующие параметры:

- указатель на объект;
- индекс объекта в группе;
- указатель на саму группу.||
||[get](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#get)(index) | Object | Возвращает объект по его индексу в группе.||
||[indexOf](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#indexOf)(object) | Integer | Ищет объект в группе и возвращает его индекс.||
||[length](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#length)() | Integer | Возвращает количество объектов в группе.||
||[remove](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#remove)(object) | Object[] | Удаляет объект или массив объектов из группы. Генерирует событие YMaps.Group.Remove.||
||[removeAll](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#removeAll)() |  | Удаляет все объекты из группы.||
||[splice](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#splice)(index, number) | Object[] | Удаляет объекты из группы. Если необходимо, вставляет на их место другие объекты.||
|#

## Подробное описание конструктора {#constructor}

```javascript
YMaps.Group()
```

Создает набор объектов.

## Подробное описание полей {#field_detail}

### Events {#Events}

```javascript
Object Events
```

Список событий группы объектов.

## Подробное описание событий {#event_detail}

### Add {#Add}

```javascript
Add
```
 Добавление объекта в группу. 
В callback-функцию передаются три аргумента:

- указатель на группу;
- указатель на добавленный объект;
- индекс добавленного объекта.

### Remove {#Remove}

```javascript
Remove
```
 Удаление объекта из группы. 
В callback-функцию передаются три аргумента:

- указатель на группу;
- указатель на удаленный объект;
- индекс удаляемого объекта.

## Подробное описание методов {#method_detail}

### Add {#Add}

```javascript
add(object, index)
```

Добавляет объект в группу. Генерирует событие YMaps.Group.Add.

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

Имя | Тип | Необязательный | По умолчанию | Описание
----- | ----- | ----- | ----- | -----
`object` | Object|Object[] |  |  | Добавляемый объект или массив объектов.
`index` | Integer | ![](../_images/check.png) |  | Позиция, в которую нужно добавить object.

### filter {#filter}

```javascript
{Object[]} filter(callback, context, noRecursion)
```

Отбирает объекты группы, удовлетворяющие условиям, заданным в функции проверки. Возвращает массив отобранных объектов.

По умолчанию отбор объектов для проверки происходит рекурсивно, то есть, если группа содержит вложенные группы, то отбор будет происходить и в них тоже.

**Пример:**

```javascript
// Осуществляет рекурсивный отбор объектов с заданным значением свойства
var filteredObj = group.filter(function (obj) {
    return obj.property == "filter";
});
```

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

Имя | Тип | Необязательный | По умолчанию | Описание
----- | ----- | ----- | ----- | -----
`callback` | Function |  |  | Функция проверки.
`context` | Object | ![](../_images/check.png) | null | Контекст выполнения функции.
`noRecursion` | Object | ![](../_images/check.png) | false | true - запретить рекурсивный отбор объектов внутри группы, false - разрешить.


**Возвращает:**

Тип | Описание
----- | -----
Object[] | Массив отобранных, с помощью функции, объектов.

### forEach {#forEach}

```javascript
forEach(callback, context)
```

Выполняет callback-функцию для каждого объекта группы.

В функцию передаются следующие параметры:

- указатель на объект;
- индекс объекта в группе;
- указатель на саму группу.

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

Имя | Тип | Необязательный | По умолчанию | Описание
----- | ----- | ----- | ----- | -----
`callback` | Function |  |  | Функция, выполняемая для каждого объекта.
`context` | Object | ![](../_images/check.png) |  | Контекст выполнения функции.

### get {#get}

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

Возвращает объект по его индексу в группе. Индекс может принимать отрицательные значения.

**Пример:**

```javascript
group.get(0) // Берет первый объект в группе.
group.get(5) // Берет пятый объект в группе.
group.get(-1) // Берет последний объект в группе.
group.get(-3) // Берет третий объект с конца.
```

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

Имя | Тип | Описание
----- | ----- | -----
`index` | Integer | Индекс.


**Возвращает:**

Тип | Описание
----- | -----
Object | Требуемый объект.

### indexOf {#indexOf}

```javascript
{Integer} indexOf(object)
```

Ищет объект в группе и возвращает его индекс.

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

Имя | Тип | Описание
----- | ----- | -----
`object` | Integer | Объект.


**Возвращает:**

Тип | Описание
----- | -----
Integer | Индекс объекта.

### length {#length}

```javascript
{Integer} length()
```

Возвращает количество объектов в группе.

**Возвращает:**

Тип | Описание
----- | -----
Integer | Количество объектов.

### remove {#remove}

```javascript
{Object[]} remove(object)
```

Удаляет объект или массив объектов из группы. Генерирует событие YMaps.Group.Remove.

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

Имя | Тип | Описание
----- | ----- | -----
`object` | Object|Object[] | Удаляемый объект или массив объектов.


**Возвращает:**

Тип | Описание
----- | -----
Object[] | Удаленные объекты.

### removeAll {#removeAll}

```javascript
removeAll()
```

Удаляет все объекты из группы.
### splice {#splice}

```javascript
{Object[]} splice(index, number)
```

Удаляет объекты из группы. Если необходимо, вставляет на их место другие объекты. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number).

**Пример:**

```javascript
// Удаляет второй объект.
group.splice(1, 1);
// Вставляет новый объект obj во вторую позицию.
group.splice(1, 0, obj);
// Заменяет второй объект на новый объект obj.
group.splice(1, 1, obj);
```

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

Имя | Тип | Описание
----- | ----- | -----
`index` | Integer | Индекс объекта, с которого начинается удаление.
`number` | Integer | Количество удаляемых объектов.


**Возвращает:**

Тип | Описание
----- | -----
Object[] | Удаленные объекты.

