|
分類:[JavaScript]
こんにちは。
JavaScriptでこのような形で内部エラーメッセージを取りたいのですが、シンプルに取る方法はないでしょうか?
それとも階層を一つ一つ下階層がある場合、再起的に回さないとだめでしょうか?
お分かりになる方いましたら、宜しくお願いします。
let errors = [
{
"constraints": {
"isLength": "name is over 10" ←このメッセージだけ取りたい
}
},
{
"children": [
{
"children": [
{
"constraints": {
"isLength": "title is over 10"←このメッセージだけ取りたい
}
}
]
}
]
}
]
this.buildError(errors);
private buildError(errors) {
const result = [];
errors.forEach((el) => {
const constraints = el.constraints ? el.constraints : el.children;
Object.entries(constraints).forEach((constraint) => {
console.log("@@1:"+constraint);
result.push(`${constraint[1]}`);
});
});
return result;
}
「constraints」内のKeyValue形式のValue値は固定ですが、階層数は可変になります。
↑の期待結果は["name is over 10", "title is over 10"]
|