在循环中连接字符串节点

时间:2015-09-02 10:22:46

标签: javascript underscore.js lodash

如果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 下划线 ......

1 个答案:

答案 0 :(得分:1)

从您的示例中看起来好像您希望将所有结果附加到由&符号分隔的值。如果这就是你想要的,那么这将做你需要的......

// 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("&");

join将连接newResult的所有值,由&符号分隔。

如果(newResult.length ? "&" : "")中有任何值,

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

我创建了newResult,因此您仍然可以保留原始结果数组,以备日后需要时使用。