| Оператор | Обозначение | Назначение |
|---|---|---|
| Сложение | X + Y |
Складывает значения |
| Вычитание | X - Y |
Вычитает из левого значения правое |
| Умножение | X * Y |
Перемножает значения |
| Деление | X / Y |
Делит левое значение на правое |
| Остаток от деления | X % Y |
Находит остаток от деления левого значения на правое |
| Диапазон | [X..Y] |
Генерирует массив возрастающих чисел в заданных границах |
Подробнее о каждом арифметическом операторе:
+ (Сложение) в JSONataОператор сложения (+) складывает операнды для получения числовой суммы. Если какой-либо из операндов не является числом, произойдет ошибка.
Примеры:
2 + 8 ⇒ 10
📝 Сложение двух целых чисел.
2.17 + 5.48 ⇒ 7.65
📝 Оператор сложения также работает с вещественными числами.
5 + 6 + 7.89 ⇒ 18.89
📝 Можно складывать сразу несколько чисел, записав их цепочкой.
10 + “пять” ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.
🧩 Официальная документация языка JSONata по + (сложение) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
- (Вычитание) в JSONataОператор вычитания (-) вычитает из левого значения правое для получения числовой разницы. Если какой-либо из операндов не является числом, произойдет ошибка.
Примеры:
10 - 3 ⇒ 7
📝 Оператор вычитания вычитает из левого значения правое.
15.5 - 114 ⇒ -98.5
📝 Оператор вычитания также работает с вещественными числами.
10 - 8 - 1.5 ⇒ 0.5
📝 Можно вычесть сразу несколько чисел, записав их цепочкой.
10 - “пять” ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.
🧩 Официальная документация языка JSONata по - (вычитание) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
* (Умножение) в JSONataОператор умножения (*) перемножает операнды для получения числового произведения. Если какой-либо из операндов не является числом, произойдет ошибка.
Примеры:
5 * 5 ⇒ 25
📝 Оператор умножения перемножает свои операнды.
2 * 34.79 ⇒ 69.58
📝 Оператор умножения также работает с вещественными числами.
5 * 5 * 2 = 50
📝 Можно перемножить сразу несколько чисел, записав их цепочкой.
5 * “пять” ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.
🧩 Официальная документация языка JSONata по * (умножение) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
/ (Деление) в JSONataОператор деления (/) делит левое значение на правое для получения числового коэффициента. Если какой-либо из операндов не является числом, произойдет ошибка.
Примеры:
5 / 2 ⇒ 2.5
📝 Оператор деления делит левый операнд на правый.
42.12 / 0.3 ⇒ 140.4
📝 Оператор деления также работает с вещественными числами.
6 / 0.2 / 12 ⇒ 2.5
📝 Можно произвести несколько делений сразу, записав их цепочкой.
5 / “пять” ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.
13 / 0 ⇒ null
❕При делении на 0 ответом результатом будет null.
🧩 Официальная документация языка JSONata по / (деление) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
% (Остаток от деления) в JSONataОператор по модулю (%) делит правое значение на левое, используя деление на целое число, чтобы получить целое частное и остаток. Этот оператор возвращает остаток. Если какой-либо из операндов не является числом, произойдет ошибка.
Примеры:
5 % 2 ⇒ 1
📝 Используя оператор остатка от деления можно, например, проверить никло на четность.
18.57 % 1 ⇒ 0.57
📝 Используя оператор деления с остатком на единицу, можно получить дробную часть числа.
19 % 15 % 2 ⇒ 0
📝 Можно произвести несколько вычислений сразу, записав их цепочкой.
5 % “пять” ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.

❕При делении на 0 ответом результатом будет null.
🧩 Официальная документация языка JSONata по % (остаток от деления) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
.. (Диапазон) в JSONataОператор генерации последовательности (..) используется для создания массива монотонно возрастающих целых чисел, начинающихся с левого и заканчивающихся правым числом. Если какой-либо из операндов не является целым числом, произойдет ошибка. Генератор последовательности может использоваться только в квадратных скобках (конструкторе массива) [].
Примеры:
[1..5] ⇒ [1, 2, 3, 4, 5]
📝 Оператор диапазона сгенерировал массив возрастающих, начиная с левого, заканчивая правым, чисел.
[2..4, 7..9] ⇒ [2, 3, 4, 7, 8, 9]
📝 В одних квадратных скобках может быть использовано сразу несколько операторов диапазона.
2..8 ⇒ Ошибка!
❗При использовании оператора диапазона не были поставлены квадратные скобки [].
[1..”пять”] ⇒ Ошибка!
❗Один из операндов не является числом, это стало причиной ошибки.
[2.5..10] ⇒ Ошибка!
❗Один из операндов не является целым числом, это стало причиной ошибки.
🧩 Официальная документация языка JSONata по .. (диапазон) на английском языке: http://docs.jsonata.org/other-operators#-concatenation
Примеры:

📝 Атрибуту price (цена товара) присваем исходное поле price, после чего оператором сложения добавляем 100.
Требуется узнать размер скидки на товар.

📝 Атрибуту discount (скидка) присваиваем разность исходных полей price и oldPrice.
❕Обратите внимание, что в представленных примерах, исходные поля должны иметь формат числа, а не строки. 12345 - верно, “12345” или ‘12345’ - неверно. Привести к числовому формату можно при помощи функции $number(аргумет).
