Javascript 当我的一些模型为空或null时,如何重构它
当前,当vm.LocationId或vm.ZoneId未定义或为null或未找到匹配项时,我的全名在字符串末尾为“undefined undefined” 如果vm.LocationId或vm.ZoneId为null,那么生成FullName值的更好或更安全的方法是什么Javascript 当我的一些模型为空或null时,如何重构它,javascript,angularjs,Javascript,Angularjs,当前,当vm.LocationId或vm.ZoneId未定义或为null或未找到匹配项时,我的全名在字符串末尾为“undefined undefined” 如果vm.LocationId或vm.ZoneId为null,那么生成FullName值的更好或更安全的方法是什么 vm.Company.FullName = ($(vm.CompanyList).filter(function(i, n) { return n.Mod
vm.Company.FullName =
($(vm.CompanyList).filter(function(i, n) {
return n.ModelId == vm.CompanyId;
})).prop("Name") + " " +
$filter("filter")(vm.CopmanyYears, vm.YearID) +" "+
($(vm.LocationList).filter(function (i, n) {
return n.LocationId == vm.LocationId;
})).prop("Name") + " " +
($(vm.ZoneList).filter(function (i, n) {
return n.ZoneId == vm.ZoneId;
})).prop("Name") ;
首先,将代码分成几行,然后进行赋值
const company = $(vm.CompanyList).filter(company => company.ModelId === vm.CompanyId) || {}
const year = $filter(`filter`)(vm.CopmanyYears, vm.YearID)
const location = $(vm.LocationList).filter(
location => location.LocationId === vm.LocationId
) || {}
const zone = $(vm.ZoneList).filter(zone => zone.ZoneId === vm.ZoneId) || {}
const names = [company.name, year, location.name, zone.name]
vm.Company.FullName = names.filter(v => v).join(` `)
我不确定您的
筛选方法。如果$(vm.CompanyList).filter
返回数组,您应该使用find
而不是filter
方法:$(vm.CompanyList).find(company=>company.ModelId==vm.CompanyId==vm.CompanyId)
它是什么$filter(“filter”)(vm.copmanyyearid,vm.YearID)
?对吗?