-
Notifications
You must be signed in to change notification settings - Fork 9
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,
}