我有一个Laravel后端通过Validator返回一些错误。这些错误通过angular发出的HTTP响应传递,并以JSON格式返回。
对象的结构如下所示:
name
对象有一个值,这是我之后的实际消息。
目前,使用循环等,我只能将数组的名称(name
)作为字符串...
我有时会在这个错误对象中获得多个数组,而且我不会总是知道它们的名字,那么我怎样才能在循环中检索每个数组中的0-index值?
感谢您的帮助。
<小时/> 编辑#1
像这样循环:
for(var err in res.data.errors){
console.log(Object.err[0][0]);
}
给了我一个Cannot get [0] index of undefined
答案 0 :(得分:0)
这个怎么样:
let errors = Object.values(response.data.errors);
// errors is now an array of arrays containing the validation errors
errors.forEach( (errorArray) => {
console.log(errorArray[0]);
} );
另一种方法是使用Object.keys()
而不是值。这类似于您已经尝试过的,您将错误属性的名称作为字符串,然后使用它来访问每个错误数组:
let keys = Object.keys(response.data.errors);
keys.forEach( (errorKey) => {
console.log('error type', errorKey);
let errorArray = response.data.errors[errorKey];
console.log(errorArray[0]);
} );