Javascript 如何将for循环的输出字符串化?

Javascript 如何将for循环的输出字符串化?,javascript,query-string,Javascript,Query String,我有以下for循环,我希望将循环的输出字符串化为查询字符串,如下面所需的输出所示。我正在使用npm包对URL进行字符串化 获得所需输出的最佳方式是什么 for (i = 0; i < 2; i++) { var foo = "pr" + [i] + "va"; var bar = "value"; }; //Desired output: ?pr0va=value&pr1va=value (i=0;i

我有以下for循环,我希望将循环的输出字符串化为查询字符串,如下面所需的输出所示。我正在使用npm包对URL进行字符串化

获得所需输出的最佳方式是什么

  for (i = 0; i < 2; i++) { 
      var foo =  "pr" + [i] + "va";
      var bar = "value";
  };
  //Desired output: ?pr0va=value&pr1va=value
(i=0;i<2;i++)的

var foo=“pr”+[i]+“va”;
var bar=“值”;
};
//期望输出:?pr0va=值和pr1va=值

不要创建变量,而是在每个循环中创建字符串并进行串联

检查我的代码片段

var query=”“;
变量大小=2;
对于(i=0;iif(i+1而不是创建变量-在每个循环中创建字符串并进行连接

检查我的代码片段

var query=”“;
变量大小=2;
对于(i=0;i

var输出='?';
对于(i=0;i<2;i++){
var foo=“pr”+[i]+“va”;
var bar=“值”;
输出+=foo+“=”+bar+“&”;
};
控制台日志(输出);
//期望输出:?pr0va=value&pr1va=value
类似这样的东西

var输出='?';
对于(i=0;i<2;i++){
var foo=“pr”+[i]+“va”;
var bar=“值”;
输出+=foo+“=”+bar+“&”;
};
控制台日志(输出);

//所需输出:?pr0va=value&pr1va=value
这应该适合您

function test () {
  var i =0;
  var arr = [];
    for(i=0;i<2;i++) {
     arr.push( "pr" + [i] + "va=value" );
  }
  console.log('?' + arr.join('&').toString())
}
功能测试(){
var i=0;
var-arr=[];

对于(i=0;i这应该对你有用

function test () {
  var i =0;
  var arr = [];
    for(i=0;i<2;i++) {
     arr.push( "pr" + [i] + "va=value" );
  }
  console.log('?' + arr.join('&').toString())
}
功能测试(){
var i=0;
var-arr=[];

对于(i=0;i你可以这样做

var输出=“?”;
对于(i=0;i<2;i++){
输出+=“pr”+[i]+“va=值&”;
};

console.log(output.slice(0,-1))
您可以这样做

var输出=“?”;
对于(i=0;i<2;i++){
输出+=“pr”+[i]+“va=值&”;
};

console.log(output.slice(0,-1))
如果要查看此类代码,我希望看到以下内容:

  • 避免连接
  • 使用函数式编程
  • 第三方的合理使用-对于
    querystring
所有这些都是为了可读性、简单性和可维护性。我承认这是有争议的。所以请不要争辩:)

我将使用您的代码作为基线,并从中改进

  for (i = 0; i < 2; i++) { 
      var foo =  "pr" + [i] + "va";
      var bar = "value";
  };
使用第三方 现在我将使用
querystring
queryParams
转换为查询字符串

 return querystring.stringify(queryParams);
现在一起
如果我要查看这些代码,我希望看到以下内容:

  • 避免连接
  • 使用函数式编程
  • 第三方的合理使用-对于
    querystring
所有这些都是为了可读性、简单性和可维护性。我承认这是有争议的。所以请不要争辩:)

我将使用您的代码作为基线,并从中改进

  for (i = 0; i < 2; i++) { 
      var foo =  "pr" + [i] + "va";
      var bar = "value";
  };
使用第三方 现在我将使用
querystring
queryParams
转换为查询字符串

 return querystring.stringify(queryParams);
现在一起
您可以创建一个大小为的数组,循环并加入它:

函数createString(大小){
返回新数组(大小).fill(0).map((v,i)=>{
返回“pr”+i+“va=值”;
}).加入(“&”);
}

console.log(createString(2));
您可以创建一个大小的数组,循环并加入它:

函数createString(大小){
返回新数组(大小).fill(0).map((v,i)=>{
返回“pr”+i+“va=值”;
}).加入(“&”);
}

console.log(createString(2))
你能重新表述这个问题吗?我想我们都误解了,因为代码片段。如果你想使用qs包,请显示你有什么数据,如果你只想创建字符串,那么你不需要任何qs库,我们的答案是正确的。qs如果要查询convertig数据结构,我看不到任何数据结构,c在这里创建它来创建查询意义不大,就像在answers中创建字符串查询一样。@MaciejSikora我有一个JSON响应,如下所示。我有两个从API中提取的产品,所以我想循环它们来提取值并将其放入查询字符串中。“itemizations”:[{“名称”:“T恤”,“数量”:“1.00000000”,“注释”:“常规T恤”,“项目变化名称”:“白色”}{“名称”:“T恤”,“数量”:“1.00000000”,“注释”:“常规T恤”,“项目变化名称”:“白色”}]你们能重新表述这个问题吗?我想我们都误解了,因为代码片段。若你们想使用qs包,那个么请显示你们有什么数据,若你们只想创建字符串,那个么你们不需要任何qs库,我们的答案是正确的。qs若要查询convertig数据结构,我并没有看到任何数据结构,创建在这里创建查询的意义很小,就像在answers中创建字符串查询一样。@MaciejSikora我有一个JSON响应,如下所示。我有两个从API中提取的产品,所以我想通过它们循环提取值并将其放入查询字符串中。“itemizations”:[{“名称”:“T恤”,“数量”:“1.00000000”,“注释”:“常规T恤”,“项目变化名称”:“白色”}{“名称”:“T恤”,“数量”:“1.00000000”,“注释”:“常规T恤”,“项目变化名称”:“白色”}]@iabramo没问题!@iabramo没问题!