[英]Replace for loop with forEach for array of strings
我有以下代码连接2个字符串。 如何在这种情况下使用forEach来替换javascript中的for循环?
for(i = 0; i < values.caLocalCounterparty.length; i++)
{
selectedProvinces =
selectedProvinces.concat(values.caLocalCounterparty[i]).concat(";");
}
我尝试用下面替换它但不起作用。 我究竟做错了什么?
selectedProvinces = values.caLocalCounterparty.forEach(a =>
{ selectedProvinces.concat(a).concat(";") });
您没有在forEach循环中分配selectedProvinces
values.caLocalCounterparty.forEach(a=> {
selectedProvinces = selectedProvinces.concat(a).concat(";")
});
问题: ForEach没有返回值,因此下面的代码不起作用
selectedProvinces = values.caLocalCounterparty.forEach(a =>
{ selectedProvinces.concat(a).concat(";") });
要解决此问题,请使用以下选项
选项1:将map替换为forEach,因为map返回数组并分配给selectedProvinces
selectedProvinces = values.caLocalCounterparty.map(a =>
{ selectedProvinces.concat(a).concat(";") });
选项2:在forEach循环中使用赋值部分
values.caLocalCounterparty.forEach(a =>
{ selectedProvinces = selectedProvinces.concat(a).concat(";") });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.