0
我有這樣的條件,即檢查這些2個屬性的owner
和tenant
爲真,並根據字符串分配給this.productStatusReferences
是否owner
或tenant
這是真的的JavaScript - 檢查是否該屬性的值爲真和返回字符串
我正在尋找一個更復雜的解決方案,例如與Lodash或es2015做同樣的工作?
我有這樣的條件,即檢查這些2個屬性的owner
和tenant
爲真,並根據字符串分配給this.productStatusReferences
是否owner
或tenant
這是真的的JavaScript - 檢查是否該屬性的值爲真和返回字符串
我正在尋找一個更復雜的解決方案,例如與Lodash或es2015做同樣的工作?
我不確定在這裏是否有任何改進可能是你可以使用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];
不知道你在問什麼。這裏沒有太多需要解決的問題 - 由於有兩個ifs,一個三元不合適 - 一個開關可能更容易閱讀 – mplungjan
如果兩者都不是這樣,會發生什麼? – Bergi
您應該爲'this.projectCurrentProduct.occupancyType'製作一個變量。 – Bergi