Skip to content

flatten

do- edited this page Jan 27, 2020 · 2 revisions

Эта функция преобразует объект, содержащий вложенные объекты, в объект, содержащий только скалярные значения.

Ключи компонент объекта-результата собираются из путей к соответствующим компонентам исходной иерархии склеиванием через символ '.'.

Для каждого объекта на выход подаются "перечислимые свойства", то есть компоненты с ключами, перебираемыми js-циклом for ... in... . Для массивов дополнительно экспортируется свойство length: число элементов.

Пример. Если аргумент

 flat = flatten (nested)

имеет вид

{
  "orgRootEntityGUID": "bdd82425-c10c-4e60-8d60-2d2b0f142195",
  "OrgVersion": {
    "orgVersionGUID": "bdd82425-c10c-4e60-8d60-2d2b0f142195",
    "IsActual": true,
    "Legal": {
      "ShortName": " ГБУ ...",
      "FullName": "Государственное бюджетное...",
      "OGRN": "5147746350230",
      "INN": "7733902394",
      "KPP": "773301001",
      "OKOPF": "12300",
      "Address": "-"
    },
    "registryOrganizationStatus": "P"
  },
  "orgPPAGUID": "b633406e-d444-445d-82c8-38d7229f04ba",
  "organizationRoles": [
    {
      "Code": "19",
      "GUID": "9542a1a1-90ff-42e6-8e74-cec8c35dd920",
      "Name": "Товарищество собственников жилья"
    }
  ],
  "isRegistered": true
}

то результат —

{
  "OrgVersion.IsActual"                   : true,
  "OrgVersion.Legal.Address"              : "-",
  "OrgVersion.Legal.FullName"             : "Государственное бюджетное...",
  "OrgVersion.Legal.INN"                  : "7733902394",
  "OrgVersion.Legal.KPP"                  : "773301001",
  "OrgVersion.Legal.OGRN"                 : "5147746350230",
  "OrgVersion.Legal.OKOPF"                : "12300",
  "OrgVersion.Legal.ShortName"            : " ГБУ...",
  "OrgVersion.orgVersionGUID"             : "bdd82425-c10c-4e60-8d60-2d2b0f142195",
  "OrgVersion.registryOrganizationStatus" : "P",
  "isRegistered"                          : true,
  "orgPPAGUID"                            : "b633406e-d444-445d-82c8-38d7229f04ba",
  "orgRootEntityGUID"                     : "bdd82425-c10c-4e60-8d60-2d2b0f142195",
  "organizationRoles.0.Code"              : "19",
  "organizationRoles.0.GUID"              : "9542a1a1-90ff-42e6-8e74-cec8c35dd920",
  "organizationRoles.0.Name"              : "Товарищество собственников жилья",
  "organizationRoles.length"              : 1,
}

Clone this wiki locally