Javascript 如何有条件地创建具有属性的Java脚本对象

Javascript 如何有条件地创建具有属性的Java脚本对象,javascript,angularjs,Javascript,Angularjs,我可能写的题目不正确,但请看下面的问题 我正在Angular Controller中创建java脚本对象,如下所示。 但是,我需要有条件地设置密码和确认密码属性 我目前正在我的If-else中执行此操作,例如,条件为true,而不是执行以下代码,否则执行相同的代码而不使用密码,并确认密码属性 我发现这是代码的重复。有没有更好的方法可以在对象内部有条件地提及属性 $scope.newStudentForm = { rules: { firstname: { required: true }

我可能写的题目不正确,但请看下面的问题

我正在Angular Controller中创建
java脚本
对象,如下所示。 但是,我需要有条件地设置
密码
确认密码
属性

我目前正在我的If-else中执行此操作,例如,条件为true,而不是执行以下代码,否则执行相同的代码而不使用密码,并确认密码属性

我发现这是代码的重复。有没有更好的方法可以在对象内部有条件地提及属性

$scope.newStudentForm = {
rules: {
firstname: {
    required: true
},
lastname: {
    required: true
},
email: {
    required: true,
    email: true
},
password: {
    required: true,
    minlength: 6
},
confirm_password: {
    required: true,
    minlength: 6,
    equalTo: "#password"
},
student_role: "required"
},

创建不带所需属性的
$scope.newStudentForm
。然后在条件上添加了

$scope.newStudentForm = {
    rules: {
    }
};
if(condition){
    $scope.newStudentForm.rules.password = {
        required: true,
        minlength: 6
    };
    $scope.newStudentForm.rules.confirm_password = {
        required: true,
        minlength: 6,
        equalTo: "#password"
    };
}

为什么不能直接设置
必需:false,
?使用三元运算符
“键”:(条件)?”条件满足时的值“:“条件失败时的值”
@罢工者,谢谢这也是一个好方法。谢谢你的回答。我正在尝试。一旦工作完成,我将把你的回答标记为接受。再次感谢