【发布时间】:2017-12-08 12:57:49
【问题描述】:
//让我们说表格如下所示
<form id="myform">
<input name="foo" value="parent"/>
<input name="foo.cat.bar" value="child1"/>
<input name="foo.cat.biz" value="child2"/>
<input name="foo.cat.biz.dog.bar" value="child3"/>
</form>
// 我希望基于输入名称 attr 的 JSON 格式的输出是这样的 //(这只是一个示例,需要通用答案和最佳方法)
{
"foo": "parent",
"foo.cat": {
"bar": "child1",
"biz": "child2",
"foo.cat.biz.dog": {
"bar": "child3"
}
}
}
【问题讨论】:
-
到目前为止你自己尝试过什么?
-
如果您在提交表单时想要对象,您可以从“名称”字段中创建一个嵌套对象,并以点分隔来嵌套数据。
-
或者你应该使用一个框架来实现这个
-
您想要的输出似乎有点不一致。为什么最后一个嵌套对象附加到属性
"foo.cat.biz.dog"而不是"biz.dog"? -
我正在考虑使用多个对象,然后根据条件(如果名称与倒数第二个元素相同),将值分配给新对象。最后,将物体推入彼此。然而,这是一种非常硬的代码方法,听起来不像是好的编程。我现在想不出别的。
标签: javascript