javascript - jquery将数组对象转换为字符串

标签 javascript jquery ajax jqueryform

我正在通过 ajax 发布表单,并希望发送表单数据,例如 string 。 下面是我的代码。

var formdata=$(this).serializeArray();
var objList = [];
for (var i = 1; i <= $("input[name=Range]").val(); i++) {

tempObj = {};

$.each(formData, function (key, value) {


                        if (value.name.startsWith("member"){

                        }
                        else {
                            tempObj[value.name] = value.value;
                        }

                    });


                    tempObj["member"] = $("input[name=member"+i+"]").val();

                    tempObj["Range"] = 1;




                    objList.push(tempObj);

                }

                console.log(objList);

如果 Range = '2' 我会在控制台中得到 2 个数组对象,如下所示:

Name:"John"  
Department:"Training"  
Areacode:"23"
Member:"2"



Name:"Sam" 
Department:"HR"
Member:"2"
Areacode:"13"

但我想将数据作为表单 URL 发布,例如:

"Name=John&Department=Training&Member=2&Areacode=23"   



  "Name=Sam&Department=HR&Member=1&Areacode=13" 

我可以用代码做什么?

最佳答案

我将继续您的代码,而不是修改您的代码。

我们从objList开始。我们将映射这个数组来创建一个新数组,但它不是一个对象数组,而是一个字符串数组。

然后,您可以添加reduce方法来迭代该对象并创建字符串,无论它有多少个值。

var formdata = $(this).serializeArray();
var objList = [{
Name:"John", 
Department:"Training"  ,
Areacode:"23",
Member:"2"},{
Name:"Sam" ,
Department:"HR",
Member:"2",
Areacode:"13",
Extra:"value"}];

let arrStr = objList.map(obj => {
  return Object.entries(obj).reduce( (key, val,i) => `${key}${i>0?'&':''}${val[0]}=${val[1]}`, "");
})

console.log("This is the array of strings:"+arrStr);
console.log("String 1:"+arrStr[0]);
console.log("String 2:"+arrStr[1]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

"Name=John&Department=Training&Member=2&Areacode=23"

希望这有帮助:)

关于javascript - jquery将数组对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179657/

相关文章:

javascript - 如何在 jQuery 中的 href 之前显示图像 src

javascript - 从文本创建输入类型

javascript - 从表单在同一页面内调用 JS 函数(AJAX)

javascript - 将 react 组件(或元素?)放入对象中。

javascript - 针对第 0 行问题从数据源请求未知参数 '0'

javascript - 尝试制作动态填充的链接选择框以在页面上显示特定图像

javascript - 基于 webkit 的浏览器将 json 解释为脚本

javascript - 当不同跨度具有事件类时更改跨度的内容

javascript - 从 Javascript 的编辑表单传递 id

javascript - 在 javascript 中加载 jQuery/ajax