我从表中接收数据。并将它们保存在数组中。
我想知道如何使用以下格式将数组转换为字符串。
在我的请求中,用户可以添加新行并输入问题和答案。
这就是为什么我认为我可以将所有数据放在“form:input”
中我的代码:
var param = [];
$("#tblPets tbody tr").each(function(index){
param.push({
question: $("textarea.question", this).val(),
answer: $("textarea.answer", this).val(),
});
});
var json = JSON.stringify(param);
$("form #queAns").val(json);
我可以将此数组转换为JSON字符串。但格式不是我正在寻找的。 p>
例如:
我希望我的字符串看起来像:
问题,回答|问题,回答|问题,回答|
怎么做?
答案 0 :(得分:1)
尝试使用JQuery的$.map()
函数,然后循环遍历对象的属性。
var param = [];
$("#tblPets tbody tr").each(function(index){
param.push({
question: $("textarea.question", this).val(),
answer: $("textarea.answer", this).val(),
});
});
console.log(param);
var result = '';
$.map(param, function(n) {
for(var prop in n){
result += n[prop] + ',';
}
result = result.substring(0, result.length-1) + '|';
});
console.log(result);
答案 1 :(得分:0)
将数组转换为字符串的方法太多了:
您可以使用.tostring()
:
myArray .toString();
试试这个:
使用Javascript:
function myFunction()
{
var myArray = ["Banana", "Orange", "Apple", "Mango"];
myArray .toString();
var x=document.getElementById("demo");
x.innerHTML=myArray;
}
HTML:
<p id="demo">Click the button to convert the array into a String.</p>
答案 2 :(得分:0)
我同意这些评论,但是这里有一个想法,如果你想要精确的编码它会是什么样子,并且可以循环遍历数组。
var param = [], string = '';
$("#tblPets tbody tr").each(function(index){
param.push({
question: $("textarea.question", this).val(),
answer: $("textarea.answer", this).val(),
});
});
param.forEach( function (obj) {
string += obj.question+','obj.answer+'|';
})