Basic JavaScript counter I am new to JavaScript and wondered if there is a more streamlined way of writing this code:

var choices = "ABBCD" // A string containing the letters A-D
var total = 0

function calculate() { // Iterate through choices and add to total depending on the letter
  for (var i=0; i&lt;choices.length; i++) {
    if (choices[i]=="A") {
      total+=1;
    } if (choices[i]=="B") {
      total+=2;
    } if (choices[i]=="C") {
      total+=3;
    } if (choices[i]=="D") {
      total+=4;
    }
  }
}
Good: Use if-elseif

You are calling 4 if statements with your code even if the 1st one is true. These are all mutually exclusive statements so use if-elseif

for (var i=0; i&lt;choices.length; i++) {
    if (choices[i]=="A") {
        total+=1;
    } else if (choices[i]=="B") {
        total+=2;
    } else if (choices[i]=="C") {
        total+=3;
    } else if (choices[i]=="D") {
        total+=4;
    }
}


Better: Use a switch statement

for (var i=0; i&lt;choices.length; i++) {
    switch (choices[i]) {
        case 'A': 
            total += 1;
            break;
        case 'B': 
            total += 2;
            break;
        case 'C': 
            total += 3;
            break;
        case 'D': 
            total += 4;
            break;
    }
}


Best: Convert the character to its numeric equivalent using its ASCII value

for (var i = 0; i &lt; choices.length; i++) {
    //omitted validation that character is a legal value...
    total += choices[i].charCodeAt(0) - 64;
}