JSFiddle - React, Tailwind, and code Playground

JavaScript

var objectSchemasList = {
  1: [
  	{
    	name: 'list_field1_1',
      uuid: 'uuid1',
      fieldObjectSchemaId: 2
    },
    {
    	name: 'list_field1_2',
      uuid: 'uuid2',
      fieldObjectSchemaId: null
    },
  ],
  2: [
  	{
    	name: 'list_field2_1',
      uuid: 'uuid3',
      fieldObjectSchemaId: null
    },
    {
    	name: 'list_field2_2',
      uuid: 'uuid4',
      fieldObjectSchemaId: null
    },
  ],
  3: [
  	{
    	name: 'list_field3_1',
      uuid: 'uuid5',
      fieldObjectSchemaId: 1
    },
    {
    	name: 'list_field3_2',
      uuid: 'uuid6',
      fieldObjectSchemaId: null
    },
  ],
}

const objectSchemaFields = [
	{
  	name: 'field_1',
    uuid: '_uuid1',
    fieldObjectSchemaId: null
  },
  {
  	name: 'field_2',
    uuid: '_uuid2',
    fieldObjectSchemaId: null
  },
  {
  	name: 'field_3',
    uuid: '_uuid3',
    fieldObjectSchemaId: 1
  },
];

const result = [
  {
  	path: 'field_1',
		name: 'field_1',
    uuid: '_uuid1',
	},
  {
  	path: 'field_2',
		name: 'field_2',
    uuid: '_uuid2',
	},
  {
    path: 'field_3',
  	name: 'field_3',
    uuid: '_uuid3',
  },
  {
    path: 'field_3.list_field1_1',
  	name: 'list_field1_1',
    uuid: 'uuid1',
  },
  {
    path: 'field_3.list_field1_1.list_field2_1',
  	name: 'list_field2_1',
    uuid: 'uuid3',
  },
  {
    path: 'field_3.list_field1_1.list_field2_2',
  	name: 'list_field2_2',
    uuid: 'uuid4',
  },
  {
  	path: 'field_3.list_field1_2',
		name: 'list_field1_2',
    uuid: 'uuid2',
	}
]

function collectFlatOSFields(objectSchemas, fields) {
  return fields.map(field => {
    const { name : path, name, uuid } = field;
    if (!field.fieldObjectSchemaId) {
      return { path, uuid, name };
    }
    const childFields = objectSchemas[field.fieldObjectSchemaId];
    return childFields.map(childField => {
      const deepPath = path + '.' + childField.name;
      if (!childField.fieldObjectSchemaId) {
        return {
          path: deepPath,
          uuid: childField.uuid,
         ...