在循环中连接字符串节点

Concatenate string node in loop

本文关键字:字符串 节点 连接 循环      更新时间:2023-09-26

我有以下代码,如果result[1]的长度是1,它的工作如下:

var url = redir[0] + 'value=' + encoURL + '& + result[1];

现在我有一个场景,当结果有更多的条目3或5我需要将它连接到字符串上,有一种很好的方法可以做到而不是这种难看的方法

var url = redir[0] + 'value=' + encoURL + '& + result[1] + '& + result[2] + '& + result[3]  

等。

我有使用 lo-dash 强调

从您的示例来看,您似乎希望将所有结果附加到值后面,并用&分隔。如果这是你想要的,那么这将做你需要的…

// get a copy of result, with the first element removed...
var newResult = result.slice(1);
var url = redir[0] + 'value=' + encoURL + (newResult.length ? "&" : "") + newResult.join("&");

joinnewResult的所有值连接起来,用&分隔。

如果newResult中有任何值,则

(newResult.length ? "&" : "")基本上会添加第一个&号,因此它处理newResult为空的可能性。您也可以将连接放在该条件操作符中,但我这样做是因为它更具可读性,并且它对最终结果没有影响。

我创建了newResult,所以你仍然有原始的结果数组完整,以防你以后需要它。