Можно ли получить значение массива из функции, если я помещу forEach в массив?
Вот мой код
res.status(400).send({
reason: err._message,
messages: Object.keys(err.errors).forEach((message) => {
return message; // I want messages will be arrays from err.errors
})
});
он не возвращает никакой ошибки, и я попытался добиться такого вывода
{
"reason": "some message from err._message",
"errors": {
"name": "Name field is required",
"etc": "etc field is required",
...
}
}
err.errors
вывод (я не хочу показывать все ошибки)
"errors": {
"name": {
"message": "Name field is required",
"name": "ValidatorError",
"properties": {
"message": "Name field is required",
"type": "required",
"path": "name",
"value": ""
},
"kind": "required",
"path": "name",
"value": ""
}
},
EDIT
как комментарий @jonrsharpe
Я пытался использовать map
res.status(400).send({
reason: err._message,
errors: Object.values(err.errors).map((data) => {
return data.message;
})
});
это уже дает мне правильное значение, но я не знаю, как получить ключ
этот код возвращает
{
"reason": "User validation failed",
"errors": [
"Name field is required",
"Email field is required"
]
}
Но если возможно, я хочу, чтобы ошибки возвращались как Object