Перейти к основному содержимому

Соответствие

Стд::Коллекции::Соответствие<ТипКлюча,ТипЗначения>

ТипКлюча: тип ключей соответствия. ТипЗначения: тип значений соответствия.

Коллекция пар ключ и значение, предоставляющее быстрое получение значения по ключу. Не содержит дубликатов ключей. Каждому ключу соответствует только одно значение.

Сравнение

Структурное

  • соответствия считаются равными, если их размер совпадает, а так же каждое из соответствий содержит все пары ключ-значение другого.
  • типы соответствий при этом не учитываются.

Обход в цикле

Тип: КлючИЗначение<KeyType, ValueType>

Возвращает пары ключ-значение в порядке добавления.

Иерархия типа

Базовые типы: ИзменяемоеСоответствие<ТипКлюча, ТипЗначения>, Обходимое<КлючИЗначение<ТипКлюча, ТипЗначения>>, Объект, ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>


Примеры

Сравнение

знч ОбычноеСоответствие = новый Соответствие<Строка, Число>({"ключ1": 1, "ключ2": 2})
знч ЧитаемоеСоответствие = новый ЧитаемоеСоответствие<Объект, Объект>({"ключ2": 2, "ключ1": 1})

знч Равны = ОбычноеСоответствие == ЧитаемоеСоответствие // Истина

Литералы

Синтаксис (краткий): { ключ_0 : значение_0, ..., ключ_n : значение_n }, тип ключа и элементов соответствия выводится автоматически (если возможно). Синтаксис (с указанием типов): <ТипКлюча, ТипЗначения>{ ключ_0 : значение_0, ..., ключ_n : значение_n }. Синтаксис пустого соответствия: {:}

Примеры

знч ПустоеСоответствие1: Соответствие<Строка, Число> = {:}  // сработал вывод типа
знч ПустоеСоответствие2 = <Строка, Число>{:}
знч СоответствиеТипизированное = {"ключ1" : 1, "ключ2" : 2}
знч СоответствиеОбъектов = <Объект, Объект>{"ключ1" : 1, Истина : "значение2"}

Операция []

Изменяемый

[Ключ: ТипКлюча]: ТипЗначения

Возвращает или устанавливает значение по указанному ключу.

ИсключениеНедопустимыйАргумент - если соответствие не содержит указанный ключ.


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

Соответствие

Соответствие()
Создает пустое соответствие.

Перегрузка
Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)

Примеры

знч Соответствие = новый Соответствие<Строка, Число>()
// равносильный литерал: <Строка, Число>{:}

Соответствие

Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)
Конструктор копирования. Создает соответствие, содержащее копию элементов Соответствие.

Перегрузка
Соответствие()


Методы

Вставить

Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
Вставляет в соответствие пару ключ-значение из переданного КлючИЗначение. Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. Возвращает значение, которое раньше соответствовало ключу или Undefined, если в соответствии не было такого ключа.

Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения


Вставить

Вставить(
Ключ: ТипКлюча,
Значение: ТипЗначения
): ТипЗначения?
Вставляет в соответствие пару Ключ и Значение. Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. Возвращает значение, которое раньше соответствовало ключу или Undefined, если в соответствии не было такого ключа.

Перегрузка
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения


Вставить

Вставить(
Ключ: ТипКлюча,
ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения,
ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения
): ТипЗначения

Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера. Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!". Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.

Вставляет пару Ключ и полученное с помощью функции значение в соответствие. Возвращает значение, соответствующее ключу после вызова метода.

ВычислительНачальногоЗначения - функция, используемая для вычисления значения, если в соответствии не было такого ключа. ВычислительИзменяемогоЗначения - функция, используемая для вычисления значения, если в соответствии было значение по ключу Ключ.

Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?


ВставитьВсе

ВставитьВсе(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)
Вставляет все пары ключ-значение из переданного Соответствие.


ВставитьЕслиОтсутствует

ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения
Вставляет в соответствие пару ключ-значение из переданного КлючИЗначение, если в соответствии не было такого ключа. Возвращает значение, соответствующее ключу после вызова метода.

Перегрузка
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, ВычислительЗначения: (ТипКлюча)->ТипЗначения): ТипЗначения


ВставитьЕслиОтсутствует

ВставитьЕслиОтсутствует(
Ключ: ТипКлюча,
Значение: ТипЗначения
): ТипЗначения
Вставляет пару Ключ и Значение в соответствие, если в соответствии не было такого ключа. Возвращает значение, соответствующее ключу после вызова метода.

Перегрузка
ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, ВычислительЗначения: (ТипКлюча)->ТипЗначения): ТипЗначения


ВставитьЕслиОтсутствует

ВставитьЕслиОтсутствует(
Ключ: ТипКлюча,
ВычислительЗначения: (ТипКлюча)->ТипЗначения
): ТипЗначения

Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера. Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!". Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.

Вставляет пару Ключ и полученное с помощью ВычислительЗначения значение в соответствие, если в соответствии не было такого ключа. Возвращает значение, соответствующее ключу после вызова метода.

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

Перегрузка
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения


Список унаследованных методов

ИзменяемоеСоответствие

Очистить

Удалить

Удалить

Обходимое

ВМассив

ВСоответствие

ВСоответствиеСКлючами

ВСоответствиеСоЗначениями

ВоМножество

ВсеСоответствуют

ГруппироватьПо

ГруппироватьПо

ГруппироватьПо

ДляКаждого

Единственный

ЕдинственныйИлиНеопределено

ЕдинственныйИлиУмолчание

ЕдинственныйИлиУмолчание

ЕстьСоответствия

КакПоследовательность

Максимум

МаксимумПо

Минимум

МинимумПо

НетСоответствий

Объединить

Первый

ПервыйИлиНеопределено

ПервыйИлиУмолчание

ПервыйИлиУмолчание

ПотомСортироватьПо

Преобразовать

ПреобразоватьЛинейно

Пусто

Свернуть

Свернуть

Соединить

Сортировать

Сортировать

СортироватьПо

Среднее

СреднееИлиУмолчание

Сумма

Уникальные

УникальныеПо

Фильтровать

ФильтроватьПоТипу

Объект

ПолучитьТип

Представление

ЧитаемоеСоответствие

ВСтроку

Значения

Ключи

Получить

ПолучитьИлиНеопределено

ПолучитьИлиУмолчание

ПолучитьИлиУмолчание

Размер

Содержит

СодержитЗначение

СодержитКлюч