Arrays jQuery:循环数组以编译url get变量和值

Arrays jQuery:循环数组以编译url get变量和值,arrays,jquery,get,each,Arrays,Jquery,Get,Each,我在jQuery中有一个数组,我使用$.each()在数组中循环。我试图找到一种使用数组中的值编译URL链接的方法 var selectArr = ["numbers123", "more_array_values", "etc", "more"]; $.each(selectArr,function(k,v){ k++; alert('fid'+k+'='+v); }); 这很有效

我在jQuery中有一个数组,我使用
$.each()
在数组中循环。我试图找到一种使用数组中的值编译URL链接的方法

var selectArr = ["numbers123", "more_array_values", "etc", "more"];
            $.each(selectArr,function(k,v){
                k++;
                alert('fid'+k+'='+v);
            });
这很有效

但我想以某种方式得到它

var url=fid1=numbers123&fid2=more\u array\u value&fid3=etc

这样,我可以使用
url
并将其附加到


谢谢

通过一些创造性的应用和数组方法
.join

var url = $.map(selectArr, function(v,k) {
    // encodeURIComponent makes the value "URL safe"
    return 'fid' + (k + 1) + '=' + encodeURIComponent(v);   
}).join('&');

通过对和数组方法的一些创造性应用
。join

var url = $.map(selectArr, function(v,k) {
    // encodeURIComponent makes the value "URL safe"
    return 'fid' + (k + 1) + '=' + encodeURIComponent(v);   
}).join('&');
试试这个

var selectArr = ["numbers123", "more_array_values", "etc", "more"];
var parts = [];
$.each(selectArr,function(k,v){
    parts.push('fid'+(k+1)+'='+v)
});
var url = parts.join('&');
演示:

你可以像Felix说的那样使用函数来清理答案

我建议使用这种方法而不是我的。

试试这个

var selectArr = ["numbers123", "more_array_values", "etc", "more"];
var parts = [];
$.each(selectArr,function(k,v){
    parts.push('fid'+(k+1)+'='+v)
});
var url = parts.join('&');
演示:

你可以像Felix说的那样使用函数来清理答案


我建议使用这种方法,而不是我的。

出于某种原因,等号不在正确的位置哦,这是因为在
$.map
中,参数的顺序是相反的(
v,k
,而不是
k,v
)。修好了,谢谢!我给了阿伦·P·约翰尼一些松懈,因为你有很高的声誉!!我将使用您的代码:)谢谢您的帮助!由于某些原因,等号没有落在正确的位置哦,这是因为在
$.map
中,参数的顺序是相反的(
v,k
,而不是
k,v
)。修好了,谢谢!我给了阿伦·P·约翰尼一些松懈,因为你有很高的声誉!!我将使用您的代码:)谢谢您的帮助@FelixKling在我的回答被接受后,他说你的答案不起作用。我纠正了你回答中的错误,并发表评论说这是你的错误。很抱歉,我已经删除了它谢谢你通知我使用@FelixKling,但我会接受你的回答,因为它目前没有给我带来任何麻烦,而且他的声誉比你的高!我可以放松一下:)@FelixKling这是在我的回答被接受,他说你的回答不起作用之后完成的。我纠正了你回答中的错误,并发表评论说这是你的错误。很抱歉,我已经删除了它谢谢你通知我使用@FelixKling,但我会接受你的回答,因为它目前没有给我带来任何麻烦,而且他的声誉比你的高!我会让你放松一下:)