user15408272
user15408272

Reputation: 19

if else function in React Native

I was trying to do a loop. However, when I input the required value (value is 1), I return me the alert part which I put in.

var ctp
        if (NumberPasses === '1') {
            ctp = 0.93
        }
        if (NumberPasses === '2') {
            ctp = 0.90
        }
        if (NumberPasses === '3') {
            ctp = 0.85
        }
        else return (
            alert("Number of tube pass: Only 1, 2 or 3!")
        )

So whenever I key in the value '1' or '2', it shows the "Number of tube pass: Only 1, 2 or 3!". However, when I key in '3', the loop accept the value and assign ctp = 0.85.

Upvotes: 0

Views: 68

Answers (2)

Muhammad Shoaib Riaz
Muhammad Shoaib Riaz

Reputation: 214

You can also use else if this way:

var ctp; 
    if (NumberPasses === '1') {
        ctp = 0.93
    }
    else if (NumberPasses === '2') {
        ctp = 0.90
    }
    else if (NumberPasses === '3') {
        ctp = 0.85
    }
    
   return alert("Number of tube pass: Only 1, 2 or 3!");

Explanation about issue in your code:

In your case when you pass '1':

  • It checks first if for NumberPasses === '1' which evalutes as true
  • ctp value is assigned 0.93
  • Then it checks for NumberPasses === '2' which evalutes as false
  • Then it checks for NumberPasses === '3' which evalutes as false
  • It goes to else case and returns alert("Number of tube pass: Only 1, 2 or 3!");

Similarly it happens for '2':

  • It checks first if for NumberPasses === '1' which evalutes as false
  • Then it checks for NumberPasses === '2' which evalutes as true
  • ctp value is assigned 0.90
  • Then it checks for NumberPasses === '3' which evalutes as false
  • It goes to else case and returns alert("Number of tube pass: Only 1, 2 or 3!");

Upvotes: 0

Bisma Azher
Bisma Azher

Reputation: 749

Use else if

var ctp
        if (NumberPasses === '1') {
            ctp = 0.93
        }
        else if(NumberPasses === '2') {
            ctp = 0.90
        }
        else if(NumberPasses === '3') {
            ctp = 0.85
        }
        else return (
            alert("Number of tube pass: Only 1, 2 or 3!")
        )

Upvotes: 1

Related Questions