我正在与一个返回响应的Web服务进行通信.响应可以收集错误.我需要遍历集合并连接所有原因.这是代码:
var errorText = ""; for ( var i = 0; i < response.errors.count; i++ ) { errorText += response.errors[i].reason; }
这有效!但我认为必须有一个更好的紧凑方式.
使用Array.prototype.map和Array.prototype.join
var response = {
errors: [{
reason: 'invalid username'
}, {
reason: 'invalid password'
}, {
reason: 'required field'
}]
};
var errorText = response.errors.map(function(errorObject) {
return errorObject.reason;
}).join('');
/*with shorter ES6 syntax
var errorText = response.errors.map(errorObject => errorObject.reason).join('');
*/
console.log(errorText);