2017-09-06 56 views
0

我有這樣的條件,即檢查這些2個屬性的ownertenant爲真,並根據字符串分配給this.productStatusReferences是否ownertenant這是真的的JavaScript - 檢查是否該屬性的值爲真和返回字符串

​​

我正在尋找一個更復雜的解決方案,例如與Lodash或es2015做同樣的工作?

+0

不知道你在問什麼。這裏沒有太多需要解決的問題 - 由於有兩個ifs,一個三元不合適 - 一個開關可能更容易閱讀 – mplungjan

+0

如果兩者都不是這樣,會發生什麼? – Bergi

+0

您應該爲'this.projectCurrentProduct.occupancyType'製作一個變量。 – Bergi

回答

0

我不確定在這裏是否有任何改進可能是你可以使用lodash路徑檢查安全並刪除其他鏈如果鏈。而作爲已經在評論中提到的,你需要的時候都沒有被設置的情況下

if (_.has(this.projectCurrentProduct, 'occupancyType.owner')) { 
    this.productStatusReferences = 'productStatusSale' 
} 
if (_.has(this.projectCurrentProduct, 'occupancyType.tenant')) { 
    this.productStatusReferences = 'productStatusRent' 
} 
if(_.isUndefined(this.productStatusReferences)) 

另一項改進是,你可以可以occupancyType更改爲屬性,因此

projectCurrentProduct: {occupancyType:'owner'} 

那麼你就可以保持一個地圖的種類,只是將其設置在一個去

var prodcutStatusOf = {owner: 'productStatusSale', tenant: 'productStatusRent'}; 
var occupancyType = this.projectCurrentProduct.occupancyType; 
this.productStatusReferences = prodcutStatusOf[occupancyType]; 
相關問題