Victor York
Victor York

Reputation: 1681

Simplify if statement - Angular

Is there a way to simplify this If statement? All variables are strings and I reuse them in both but depending if it returns true or false.

if(params.province && !params.streetType && !params.streetNr){
  this.localityIdCP = params.localityId;
}

if(params.province && params.streetType && !params.streetNr){
  this.streetIdCP = params.localityId;
}

Upvotes: 1

Views: 780

Answers (3)

Ininiv
Ininiv

Reputation: 1325

Evaluate the mandate values and hold the result in a temporary variable, which is then used in the subsequent place where you have to repeat code

const _result = (params.province && !params.streetNr);
this.localityIdCP = _result && !params.streetType && params.localityId;
this.streetIdCP = _result && params.streetType && params.localityId;

Upvotes: 0

Benjamin Barbé
Benjamin Barbé

Reputation: 590

Try using the conditional operator inside a if statement

if(params.province && !params.streetNr){
  params.streetType ? this.streetIdCP = params.localityId : this.localityIdCP = params.localityId;
}

Upvotes: 0

Adrita Sharma
Adrita Sharma

Reputation: 22203

Try like this:

if(params.province && !params.streetNr){
  if(params.streetType) {
    this.streetIdCP = params.localityId;
  }else {
    this.localityIdCP = params.localityId;
  }
}

Upvotes: 2

Related Questions