Javascript 如何将for循环的输出字符串化?
我有以下for循环,我希望将循环的输出字符串化为查询字符串,如下面所需的输出所示。我正在使用npm包对URL进行字符串化 获得所需输出的最佳方式是什么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 (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;i if(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没问题!