'Combine Nested Array in ES6
I need to combine and display the validationMessages. How do it combine since they are nested?
const errors = [
{
"id": "101_1.jpeg",
"imageValidationMessages": [
{
"attribute": "test",
"validationMessages": [
"Error message 1"
]
}
]
}
]
const errorMessages =
errors?.length &&
errors?.imageValidationMessages?.flatMap(
(o) => o.validationMessages
)
console.log(errorMessages)
Solution 1:[1]
const errors = [
{
"id": "101_1.jpeg",
"imageValidationMessages": [
{
"attribute": "test",
"validationMessages": [
"Error message 1"
]
}
]
}
]
let arr=errors.map(e=>e.imageValidationMessages.map(p=>p.validationMessages)).flat(2)
console.log(arr)
const errors = [
{
"id": "101_1.jpeg",
"imageValidationMessages": [
{
"attribute": "test",
"validationMessages": [
"Error message 1"
]
}
]
}
]
let arr=errors.flatMap(e=>e.imageValidationMessages.flatMap(p=>p.validationMessages))
console.log(arr)
Solution 2:[2]
You can do something like this
const errorMessages =
errors?.length &&
errors?.flatMap((err => err.imageValidationMessages?.flatMap(
(o) => o.validationMessages
)))
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Abhishek Solanki |
