作为输入形式的结果,我有几个字符串,我希望它们将它们转换,以便它们适合我的ajax请求的数据。我正在寻找一种简单的方法,但我做不到。基本上我想转换/映射此数组:
[
{ name: "[1][apples]", value: "2" }
{ name: "[1][melons]", value: "1" }
{ name: "[2][apples]", value: "2" }
{ name: "[2][melons]", value: "4" }
{ name: "[3][apples]", value: "3" }
{ name: "[3][melons]", value: "2" }
]
进入
[{"id": 1, "apples": 2, "melons": 1}, {"id": 2, "apples": 2, "melons": 4}, {...}]
任何想法?我希望得到一些提示吗?我找不到通过html的简单解决方案。
谢谢
感谢您的输入。我认为我的问题需要更具体:
(1)是的,它们总是井井有条。
(2)我在html中的输入标签的名称似乎是一个多维数组。不是这种情况!我尝试了一些东西,但事实证明是针对php的。
我发现以下解决方法:
function apiAdapter() {
var arrayToCopy = $("#formsteps").serializeArray();
var copiedArray = [];
for (let i = 0; i < arrayToCopy.length; i += 2) {
var id = arrayToCopy[i].name.slice(arrayToCopy[i].name.indexOf('[') + 1, arrayToCopy[i].name.indexOf(']'));
copiedArray.push({ "id": id, "apples": arrayToCopy[i].value, "melons": arrayToCopy[i + 1].value })
}
return copiedArray;
}
由于我是JavaScript新手,所以我一直在寻找更好的解决方案。因此,再次感谢您的帖子。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句