Javascript 当我的一些模型为空或null时,如何重构它

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.LocationId或vm.ZoneId未定义或为null或未找到匹配项时,我的全名在字符串末尾为“undefined undefined”

如果vm.LocationId或vm.ZoneId为null,那么生成FullName值的更好或更安全的方法是什么

 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)
?对吗?