假设我可以获取以下数据:
data = ["s=abc","t=123","a=567","b=789"]
我可以如何处理这些数据以获取像"?s=abc&t=123&a=567&b=789"这样的url字符串?
我写了一些代码
for(i=0;i<data.length;i++){
data[i].split("=");
}
但是我被卡住了一段时间。
有人能帮我吗? 顺便说一下,数据长度可能每次都不同。
谢谢。
假设我可以获取以下数据:
data = ["s=abc","t=123","a=567","b=789"]
我可以如何处理这些数据以获取像"?s=abc&t=123&a=567&b=789"这样的url字符串?
我写了一些代码
for(i=0;i<data.length;i++){
data[i].split("=");
}
但是我被卡住了一段时间。
有人能帮我吗? 顺便说一下,数据长度可能每次都不同。
谢谢。
join
方法和&
连接符,将数组元素拼接成一个字符串,然后在该字符串前面添加?
即可得到目标url字符串,格式如下:"?s=abc&t=123&a=567&b=789"
。请参考以下示例代码实现:
var data = ["s=abc", "t=123", "a=567", "b=789"];
var params = '?' + data.join('&');
console.log(params);
document.write(params);
注意:如果您的参数包含特殊字符,您可以使用encodeURIComponent
进行编码。
var new_data = '?'+data.join('&');
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);
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)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
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