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

时间:2019-05-17 19:49:58

标签: javascript

我有下面的代码来连接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(";") });

2 个答案:

答案 0 :(得分:0)

您没有在forEach循环中分配selectedProvinces

values.caLocalCounterparty.forEach(a=> { 
selectedProvinces = selectedProvinces.concat(a).concat(";")
});

答案 1 :(得分:0)

问题:ForEach没有返回值,因此下面的代码不起作用

selectedProvinces = values.caLocalCounterparty.forEach(a =>
    { selectedProvinces.concat(a).concat(";") });

要解决此问题,请使用以下选项

选项1 :将map替换为for,因为map返回数组并分配给selectedProvinces

selectedProvinces = values.caLocalCounterparty.map(a =>
        { selectedProvinces.concat(a).concat(";") }); 

选项2:在forEach循环中使用分配部分

values.caLocalCounterparty.forEach(a =>
        { selectedProvinces = selectedProvinces.concat(a).concat(";") });