繁体   English   中英

用forEach替换for循环以获取字符串数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM