javascript - 如何在开关警报中添加总小数值

标签 javascript switch-statement alert prompt

如何添加在要发出警报的提示中输入的“十进制”总字符值。非常感谢。

var sw = prompt("Enter scrable word in caps:")

switch (sw){
  
  case "A": decimal=1;break;
  case "B": decimal=3;break;
  case "C": decimal=3;break;
  case "D": decimal=2;break;
  case "E": decimal=1;break;
  case "F": decimal=4;break;
  case "G": decimal=2;break;
  case "H": decimal=4;break;
  case "I": decimal=1;break;
  case "J": decimal=8;break;
  case "K": decimal=5;break;
  case "L": decimal=1;break;
  case "M": decimal=3;break;
  case "N": decimal=1;break;
  case "O": decimal=1;break;
  case "P": decimal=3;break;
  case "Q": decimal=10;break;
  case "R": decimal=1;break;
  case "S": decimal=1;break;
  case "T": decimal=1;break;
  case "U": decimal=1;break;
  case "V": decimal=4;break;
  case "W": decimal=4;break;
  case "X": decimal=8;break;
  case "Y": decimal=4;break;
  case "Z": decimal=10;break;
 
  default: decimal="Not a capital letter";
}

alert("The score for"+sw+"is:"+decimal)

最佳答案

您可能应该只有一个包含每个字母分数的对象,然后 .split 输入并使用 .reduce 获取分数:

var values =  { A: 1, B: 3, C: 3, D: 2, E: 1, F: 4, G: 2, H: 4, I: 1,J: 8, K: 5, L: 1, M: 3, N: 1, O: 1, P: 3, Q: 10, R: 1, S: 1, T: 1, U: 1, V: 4, W: 4, X: 8,  Y: 4, Z: 10 }

var sw = prompt("Enter scrable word in caps:")
var letters = sw.split('');
var score = letters.reduce(function(accumulator, current) {
    return accumulator + values[current];  
}, 0);
alert(score);

关于javascript - 如何在开关警报中添加总小数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105359/

相关文章:

excel VBA 在邮件合并期间提示时自动选​​择是

Javascript 错误,转义问题,网格不工作,Firebug 错误

php - Case 语句输出不正确?

javascript - 当管理员用户的帐户超时时,如何提醒他们

ios - 消息表达式中的参数是未初始化的值

c - 在 C 中将#define 与开关状态一起使用

html - 无法强制带有警报类的 Bootstrap 按钮在其左侧显示警报文本

javascript - 如何使用 javascript 检查 URL 是否可用

javascript - 带有 Nginx + NodeJS 跨源请求的 Socket.io 只能部分工作

JavaScript : format string and avoid multiple replace