可能重复:
javascript 测试是否存在嵌套对象键
我试图formset
通过测试某个对象是否为 a 来构造一条错误消息,如果它不是, 那么我最终会用该错误消息填充它。主要问题是我必须验证每个嵌套对象是否为,这会导致一些非常丑陋的代码。这是示例:undefined
undefined
undefined
errorsForField: function(fieldName, formsetName, formNumber) {
if (typeof this.model.errors != 'undefined'){
var fieldError = document.createElement('span');
$(fieldError).addClass('field-error');
// THE FOLLOWING LINE THROWS ERROR.
if (formsetName && _.isUndefined(this.model.errors[formsetName][fieldName]) != true) {
$(fieldError).text(this.model.errors[formsetname][fieldName]);
} else if (typeof this.model.errors[fieldName] != "undefined"){
$(fieldError).text(this.model.errors[fieldName]);
}
this.errors[fieldName] = fieldError.outerHTML;
return fieldError.outerHTML;
}
return false;
},
我收到一条错误消息,指出我无法[fieldName]
确定undefined object
this.model.errors[formsetName]
. 换句话说,我必须先确定 if this.model.errors[formsetName]
is empty然后测试 if [fieldname]
is undefined
。
这似乎是一个非常麻烦的解决方案。有什么改变这个的建议吗?