2017-09-06 18 views
0

を返し、私はこれらの2つの特性ownertenantのチェックこの条件が真であると真はJavaScript - プロパティの値がtrueであるかどうかをチェックし、文字列

であるかどうか ownerまたは tenantに応じ this.productStatusReferencesに文字列を代入してい ​​

私はLodashやes2015と同じ作業をするより洗練されたソリューションを探していますか?

+0

あなたが何を求めているのかわかりません。ここに修正することはあまりありません.2つのifがあるので、3進が順番に並んでいません。スイッチが読みやすくなる可能性があります。 – 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)) 

別の改善は、あなたは、あなたがマップを維持することができるので、

projectCurrentProduct: {occupancyType:'owner'} 

プロパティにoccupancyTypeを変更することができるということですが設定されていない場合が必要なコメントで言及一種類だけで設定してください。

var prodcutStatusOf = {owner: 'productStatusSale', tenant: 'productStatusRent'}; 
var occupancyType = this.projectCurrentProduct.occupancyType; 
this.productStatusReferences = prodcutStatusOf[occupancyType]; 
関連する問題