Перейти к содержанию

Методы

Методы - функции, которые вызываются для каких-либо объектов выражения через разделитель . (точка).

Обобщенное функцию можно представить как:

.<имя>(<параметры>)
где:

  • имя - наименование метода;
  • параметры - параметры для выполнения метода. Некоторые методы не требуют дополнительных параметров. Но скобки () после наименования метода - обязательны.
  • Наименование регистрозависимо.
  • У некоторых методов есть русские наименования.

Можно размещать несколько методов друг за другом, к примеру:

<value>.select().where().orderBy()

Лямбда функции

Лямбда функции (или просто "лямбда") - функция, расположенные в параметрах метода. Используется проведения выражения для каждого из элементов объекта, для которого вызывается метод.

Обобщенное представление выглядит так:

<переменная> => <выражение>
где:

  • переменная - идентификатор единичного элемента.
    • Допустимые символы: Aa-Zz, 0-9 и _ (нижнее подчеркивание);
    • Переменная не может начинаться с числа.
  • выражение - какое-либо выражение, которое будет выполняться для каждого элемента. Чаще всего содержит в себе переменную.

Список методов

select

.[ select | выбрать ](<Переменная> => <Условие> ? <Правда> : <Ложь>) → <Массив>

Условие отбора элементов из массива объектов. В Условие используются базовые операции, возвращающие Логический тип данных. Метод работает только с Массивами.

Пример
[1, 2, 3, 4].select(i => i < 2 ? -i : i) → [-1, -2, 3, 4]

where

.[ where | где ](<Переменная> => <Условие>) → <Массив>

Выбор нескольких элементов из массива по условию.

В Условие используются базовые операции, возвращающий Логический тип данных. Метод работает только с Массивами.

Пример
[1, 2, 3, 4].where(i => i < 2) → [3, 4]

first

.[ first | первый ](<Переменная> => <Условие>) → <Значение>

Выбор первого элемента из массива по условию.

Логически, представляет собой краткую форму записи выражения: .where(<Переменная> => <Условие>)[0].

В Условие используются базовые операции, возвращающие Логический тип данных. Метод работает только с Массивами.

Пример
[1, 2, 3, 4].first(i => i < 2) → 3

orderBy

.[ orderBy | упорядочитьПо ]([ asc | desc ], (Не обязательно [ key ])) → <Массив>

Сортировка элементов массива.

  • key - флаг, используется, если необходимо отсортировать значения по ключам. Работает только со Словарями или Рядами.
  • asc | desc - направление сортировки:
  • asc - сортировка по возрастанию.
  • desc - сортировка по убыванию.
Пример
[[1, 2, 3, 4].orderBy(desc) → [4, 3, 2, 1]

contains

.[ contains | содержит ](<Элемент>) → <Логический тип>
{1: 'a', 2: 'b', 3: 'c'}.containsByKey(1) → Ложь

Проверка вхождения элемента в массив. Метод работает только с Массивами.

Пример
.[ contains | содержит ](<Элемент>) → <Логический тип>

containsByKey

.[ containsByKey | содержитКлюч ](<Элемент>) → <Логический тип>
Проверка вхождения элемента в ключи значений. Работает только со Словарями или Рядами.

cumSum

.[ cumSum | накопительныйИтог ]() → <Массив>

Накопительный итог ряда. Метод работает c Массивами и Рядами.

Пример
[1, 2, 3, 4].cumSum() → [1, 3, 6, 10]

movAvg

.[ movAvg | скользящееСреднее ](<Целое число>) → <Массив>

Простое скользящее среднее с указанием сглаживающего интервала. Интервал - целое положительное число. Метод работает с Массивами и Рядами.

Пример
[1, 2, 3, 4].movAvg(3) → [Null, Null, 2, 3]

keys

.[ keys | ключи ]() → <Массив>

Возвращает массив ключей. Метод работает только со Словарями, Объектами или Рядами.

  • Для Объекта - массив ключей атрибутов.
  • Для Ряда - массив ключей значений.
Пример
{1: 'a', 2: 'b', 3: 'c'}.keys() → [1, 2, 3]

values

.[ values | значения ]() → <Массив>

Возвращает массив значений. Метод работает только со Словарями, Объектами или Рядами.

  • Для Объекта - массив значений атрибутов.
  • Для Ряда - массив значений.
Пример
{1: 'a', 2: 'b', 3: 'c'}.values() → ['a', 'b', 'c']

data

.[ data | данные ]() → <Словарь>

Возвращает словарь с данными ряда. Метод работает только с Рядами.

Пример
{
  "pkey": {}, 
  "keys": ['a', 'b', 'c'], 
  "vl": [0.1, 0.2, 0.3], 
  "attrs": {}, 
  "_params": {}
}.data() → {'a': 0.1, 'b': 0.2, 'c': 0.3}

min

.[ min | мин ]() → <Значение>

Возвращает минимальное значение. Метод аналогичен функции min(). Метод работает только со Словарями, Массивами или Рядами.

Пример
[1, 2, 3, 4].min() → 1

max

.[ max | макс ]() → <Значение>

Возвращает максимальное значение. Метод аналогичен функции max(). Метод работает только со Словарями, Массивами или Рядами.

Пример
[1, 2, 3, 4].max() → 4

sum

.[ sum | сумма ]() → <Значение>

Возвращает сумму ряда. Метод аналогичен функции sum(). Метод работает только со Словарями, Массивами или Рядами.

Пример
[1, 2, 3, 4].sum() → 10

avg

.[ avg | среднее ]() → <Значение>

Возвращает среднее значение. Метод аналогичен функции avg(). Метод работает только со Словарями, Массивами или Рядами.

Пример
[1, 2, 3, 4].avg() → 2.5

median

.[ median | медиана ]() → <Значение>

Возвращает медианное значение. Метод аналогичен функции median(). Метод работает только со Словарями, Массивами или Рядами.

Пример
[1, 2, 2, 4].median() → 2

addAttr

.[ addAttr| добавитьАтрибут ](<Переменная> => {<ключ>: <значение>,... }) → [ <Объект> | <Ряд> ]

Добавление одного или нескольких атрибутов в объект или ряд. Переменная позволяет производить операции, специфические для каждого отдельного ряда. Если указать атрибут без переменной, то для всех элементов добавится атрибут с одним и тем же значением.

  • Ключ является ключом нового атрибута.
  • Значение является значением этого атрибута. Может содержать в себе переменную.

Результатом метода является Объект или Ряд (или Массив с Объектами/Рядами) с измененными атрибутами.

Метод работает только с Объектами или Рядами. Или с Массивами, содержащими в себе Объекты или Ряды (к примеру, вход).

Пример
{
    "pkey": {"id": 1}, 
    "attrs": {"ord": 10, "name": "OBJ"}
}.addAttr(i => {'doubleOrd': i['ord'] * 2}) 

Результат:

{
    "pkey": {"id": 1}, 
    "attrs": {"ord": 10, "name": "OBJ", "doubleOrd": 20}
}