如果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 和下划线 ......
答案 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
,因此您仍然可以保留原始结果数组,以备日后需要时使用。