我们可以说我可以获得如下数据:
data = ["s=abc","t=123","a=567","b=789"]
我如何处理这些数据以获得类似&#34的网址字符串??s = abc& t = 123& a = 567& b = 789"
我写了一些代码
for(i=0;i<data.length;i++){
data[i].split("=");
}
但坚持了一段时间。
任何人都可以帮助我吗? 顺便说一句,data.length每次都可能不同。
感谢。
答案 0 :(得分:3)
如何处理这些数据以获取
等网址字符串"?s=abc&t=123&a=567&b=789"
使用join
作为粘合剂&
。这将使用&
作为粘合来连接数组的元素,然后您可以将?
添加到结果字符串中。
var data = ["s=abc", "t=123", "a=567", "b=789"];
var params = '?' + data.join('&');
console.log(params);
document.write(params);
注意:如果您的参数包含特殊字符,则可以使用encodeURIComponent
对其进行编码。
答案 1 :(得分:1)
如果您需要对参数进行网址编码,请使用$.param( data);
答案 2 :(得分:1)
您可以使用连接功能。它将数组转换为字符串然后添加&amp;作为分隔符然后连接“?”;
app:layout_behavior="@string/appbar_scrolling_view_behavior"
答案 3 :(得分:1)
循环遍历您的数据数组并使用每个元素连接&符号'&'
,并使用'&'
删除最后slice
。
data = ["s=abc","t=123","a=567","b=789"];
link="?";
for(i=0;i<data.length;i++){
link+=data[i]+"&";
}
link=link.slice(0,-1);
console.log(link);
答案 4 :(得分:0)
如果要对值进行编码 - 如果值尚未编码
data = ["s=abc", "t=123", "a=567", "b=7 89"]
var params = data.map(function(item) {
return item.replace(/=(.*)/, function(m, value) {
return '=' + encodeURIComponent(value)
})
}).join('&');
snippet.log(params)
&#13;
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
答案 5 :(得分:0)
我会使用哈希来表示键/值对,并利用jQuery将参数序列化为可以使用的字符串。
var serializedParams = {
s: 'abc',
t: '123',
a: '567',
b: '789'
};
$.param(serializedParams);
// Returns:
// s=abc&t=123&a=567&b=789
或者您可以自己手动构建字符串。
var data = ["s=abc","t=123","a=567","b=789"];
data.join('&');
// Returns:
// s=abc&t=123&a=567&b=789