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"
}]
}
]
}]
]
}
function errors(obj) {
Object.keys(obj).reduce((acc, value, key) => {
acc[key]
})
}
errors(response.errors[0])
const errorsTest = _.forEach(response.errors[0], (section) => {
return _.reduce(section, (acc, value, key) => {
const sectionKey = key
if (acc[key] === undefined) {
acc[key] = {}
}
_.map(value, (item) => {
//acc[key][]
console.log(item)
})
return acc
}, {})
})
const wantedResult = {
companyProfile: [{
firstName: ['isRequiredMessage']
}, {
email: ['isRequiredMessage', 'isNotValidEmailMessage']
}]
}
//console.log(errors)