YMaps.Group

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

Позволяет объединять в группы объекты любого типа. Если требуется создать группу из объектов пользовательского класса, то класс YMaps.Group может быть расширен по примеру класса YMaps.OverlayGroup.

Конструктор

Имя Описание
YMaps.Group() Создает набор объектов.

Поля

Имя Описание
Events Список событий группы объектов.

События

Имя Описание
Add Добавление объекта в группу.
Remove Удаление объекта из группы.

Методы

Имя Возвращает Описание
add(object, index) Добавляет объект в группу. Генерирует событие YMaps.Group.Add.
filter(callback, context, noRecursion) Object[]

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

forEach(callback, context)

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

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

  • указатель на объект;
  • индекс объекта в группе;
  • указатель на саму группу.
get(index) Object Возвращает объект по его индексу в группе.
indexOf(object) Integer Ищет объект в группе и возвращает его индекс.
length() Integer Возвращает количество объектов в группе.
remove(object) Object[] Удаляет объект или массив объектов из группы. Генерирует событие YMaps.Group.Remove.
removeAll() Удаляет все объекты из группы.
splice(index, number) Object[] Удаляет объекты из группы. Если необходимо, вставляет на их место другие объекты.

Подробное описание конструктора

YMaps.Group()
Создает набор объектов.

Подробное описание полей

Events

Object Events

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

Подробное описание событий

Add

Add
Добавление объекта в группу.

В callback-функцию передаются три аргумента:

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

Remove

Remove
Удаление объекта из группы.

В callback-функцию передаются три аргумента:

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

Подробное описание методов

add

add(object, index)

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

Параметры:

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

filter

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

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

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

Пример:

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

Параметры:

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

Возвращает:

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

forEach

forEach(callback, context)

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

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

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

Параметры:

Имя Тип Необязательный По умолчанию Описание
callback Function Функция, выполняемая для каждого объекта.
context Object Контекст выполнения функции.

get

{Object} get(index)

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

Пример:

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

Параметры:

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

Возвращает:

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

indexOf

{Integer} indexOf(object)

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

Параметры:

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

Возвращает:

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

length

{Integer} length()

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

Возвращает:

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

remove

{Object[]} remove(object)

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

Параметры:

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

Возвращает:

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

removeAll

removeAll()

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

splice

{Object[]} splice(index, number)

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

Пример:

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

Параметры:

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

Возвращает:

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