[英]Convert Array object into string jquery
我正在通過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"
但是我想將數據發布為表單網址,例如:
"Name=John&Department=Training&Member=2&Areacode=23"
"Name=Sam&Department=HR&Member=1&Areacode=13"
我可以用代碼做什么?
我將繼續您的代碼,指導您修改自己的內容。
我們從objList
開始。 我們將映射該數組以創建一個新數組,但是在對象數組的指導下,它將是一個字符串數組。
然后,您可以添加reduce方法來遍歷對象,並為您的字符串添加crete,無論其具有多少值。
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"
希望這可以幫助 :)
在tempObj中,您已經有:
const tempObj = { Name:"John" , Department:"Training" , Areacode:"23", Member:"2" } const strObj=Object.entries(tempObj).reduce( (str, entry,i) => `${str}${i>0?'&':''}${entry[0]}=${entry[1]}`, "") console.log(strObj)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.