JSFiddle - React, Tailwind, and code Playground

by batcave

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>

JavaScript

const response = {
  "success": false,
  "errors": [
    [{
        "companyProfile": [{
            "dunsNumber": [{
              "message": "'Duns Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "registrationNumber": [{
              "message": "'Registration Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "vatNumber": [{
              "message": "'Vat Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "eoriNumber": [{
              "message": "'Eori Number' must not be empty.",
              "code": "required"
            }]
          }
        ]
      },
      {
        "invoiceAddress": [{
            "dunsNumber": [{
              "message": "'Duns Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "registrationNumber": [{
              "message": "'Registration Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "vatNumber": [{
              "message": "'Vat Number' must not be empty.",
              "code": "required"
            }]
          },
          {
            "eoriNumber": [{
              "message": "'Eori Number' must not be empty.",
              "code": "required"
            }]
          }
        ]
      }
    ]
  ]
}

const wantedResult = {
  companyProfile: [{
    firstName: ['isRequiredMessage']
  }, {
    email: ['isRequiredMessage', 'isNotValidEmailMessage']
  }]
}



const errors = response.errors[0]


const something = _.forEach(errors, (section) => {
  for (const [key] of Object.keys(section)) {
    return key
  }
})

console.dir(something)