【发布时间】:2020-07-07 11:12:55
【问题描述】:
作为输入表单的结果,我有几个字符串,我希望它们转换它们,因此它们适合我的 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][apples]和[1][melons]一起收集,比如订单 ID #1,其中包含 2 个苹果(价值)和 1 个甜瓜? -
另外,它们总是这样排列吗?他们永远不会像
[1][apples] [2][apples] [1][melons]那样跳来跳去?如果您保证所有相似的数字都是按顺序排列的,那么它会简化它们的收集。 -
只考虑遍历数组的思路,使用
let parts = theArray[i].name.match(/\[(\d)\]\[([a-z]+)\]/);解码对象的名称,这使得parts[1]成为订单号,parts[2]成为产品名称。不管怎样,只是一个我不想失去的想法,如果我回来写一个答案。
标签: javascript html