Форматирование массивов

1. :arrayJoin(separator, index, count)

Описание синтаксиса

Объединяет массив строк или чисел в одну строку.
Параметры:

  • separator: разделитель (по умолчанию запятая ,).
  • index: необязательный; начальный индекс, с которого выполняется объединение.
  • count: необязательный; количество элементов для объединения, начиная с index (может быть отрицательным для отсчёта с конца).
Пример
['homer','bart','lisa']:arrayJoin()              // Выводит "homer, bart, lisa"
['homer','bart','lisa']:arrayJoin(' | ')          // Выводит "homer | bart | lisa"
['homer','bart','lisa']:arrayJoin('')              // Выводит "homerbartlisa"
[10,50]:arrayJoin()                               // Выводит "10, 50"
[]:arrayJoin()                                    // Выводит ""
null:arrayJoin()                                  // Выводит null
{}:arrayJoin()                                    // Выводит {}
20:arrayJoin()                                    // Выводит 20
undefined:arrayJoin()                             // Выводит undefined
['homer','bart','lisa']:arrayJoin('', 1)          // Выводит "bartlisa"
['homer','bart','lisa']:arrayJoin('', 1, 1)       // Выводит "bart"
['homer','bart','lisa']:arrayJoin('', 1, 2)       // Выводит "bartlisa"
['homer','bart','lisa']:arrayJoin('', 0, -1)      // Выводит "homerbart"
Результат

На выходе получается строка, сформированная объединением элементов массива по указанным параметрам.

2. :arrayMap(objSeparator, attSeparator, attributes)

Описание синтаксиса

Преобразует массив объектов в строку. Вложенные объекты и массивы не обрабатываются.
Параметры:

  • objSeparator: разделитель между объектами (по умолчанию , ).
  • attSeparator: разделитель между атрибутами объекта (по умолчанию :).
  • attributes: необязательный; список атрибутов объекта для вывода.
Пример
[{'id':2,'name':'homer'},{'id':3,'name':'bart'}]:arrayMap()
// Выводит "2:homer, 3:bart"

[{'id':2,'name':'homer'},{'id':3,'name':'bart'}]:arrayMap(' - ')
// Выводит "2:homer - 3:bart"

[{'id':2,'name':'homer'},{'id':3,'name':'bart'}]:arrayMap(' ; ', '|')
// Выводит "2|homer ; 3|bart"

[{'id':2,'name':'homer'},{'id':3,'name':'bart'}]:arrayMap(' ; ', '|', 'id')
// Выводит "2 ; 3"

[{'id':2,'name':'homer','obj':{'id':20},'arr':[12,23]}]:arrayMap()
// Выводит "2:homer"

['homer','bart','lisa']:arrayMap()    // Выводит "homer, bart, lisa"
[10,50]:arrayMap()                    // Выводит "10, 50"
[]:arrayMap()                         // Выводит ""
null:arrayMap()                       // Выводит null
{}:arrayMap()                         // Выводит {}
20:arrayMap()                         // Выводит 20
undefined:arrayMap()                  // Выводит undefined
Результат

На выходе получается строка, сформированная преобразованием и объединением элементов массива без учёта содержимого вложенных объектов.

3. :count(start)

Описание синтаксиса

Считает номер строки в массиве и выводит текущий номер строки.
Например:

{d[i].id:count()}

Независимо от значения id выводится номер текущей строки.
Начиная с v4.0.0 этот форматтер внутренне заменён на :cumCount.

Параметр:

  • start: необязательный; начальное значение счётчика.
Пример и результат

При использовании вывод будет показывать номер строки в соответствии с порядком элементов массива.