【发布时间】:2021-02-23 23:10:47
【问题描述】:
我想根据输入表单创建一个嵌套对象,如下所示。 第一个键是 name 属性,在里面它是必需的:如果 onput 包含 reqiuder 属性等,则为 true。我假设我需要一个嵌套的 foreach ,我不确定。我添加了到目前为止我尝试过的代码。
这是我喜欢创建的对象:
var obj = {
'email.address': {
required: true,
email: true
},
'first.name': {
required: false
},
'last.name': {
required: true
}
};
这是我目前的代码:
var formInputs = $('input'),
obj = {};
$.each(formInputs, function(key, value) {
obj[this.name] = value.name;
});
console.log(obj)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input type="email" name="email.address" placeholder="Email address" required />
<input type="text" name="first.name" placeholder="First name" />
<input type="text" name="last.name" placeholder="Last name" required />
</form>
【问题讨论】:
-
在属性名称中包含
.不是一个好主意,因为.是用于将对象与其属性/方法分开的自然语法。多个单词名称的一般约定是使用 Pascal Case,如:firstName、lastName、emailAddress。 -
我知道,但是这些输入是由系统生成的,我对此无能为力。
标签: javascript jquery object