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)