我正在与返回响应的 Web 服务进行通信。响应可以包含错误集合。我需要遍历集合并连接所有原因。这是代码:
var errorText = "";
for ( var i = 0; i < response.errors.count; i++ ) {
errorText += response.errors[i].reason;
}
这有效!但我认为必须有一种更好的紧凑方式。
最佳答案
一个foreach?
var errorText = "";
response.errors.forEach(function(element) {
errorText += element.reason;
});
编辑:一些澄清。
foreach 比 for 循环更好,尤其是因为 JavaScript 不强制执行连续元素。
假设你的数组是这样的:
{1, 2, 3, undefined, 4, 5, 6, undefined, 7}
for
循环显然会迭代包括未定义的值,而 forEach
不会。请注意,如果您使用的是对象而不是数组,则
forEach
将不起作用。您将需要:var errorText = "";
Object.keys(response.errors).forEach(function(key) {
errorText += response.errors[key];
});
在处理对象时,这比
for
或 for ... in
好得多。但是在这种情况下,我假设它是一个数组,但没有更多信息我无法确定。关于javascript - 在 JavaScript 中连接自定义对象数组的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34188205/