我创建了一个骰子函数,它可以拖拽随机骰子并将它们的值相加。
现在0-9中的每个数字都连接到一个类,所以如果我得到数字4,它应该调用类“4” 所以我创建了一个0-9的开关。 但是当我得到一个超过9的和它给我默认数字,因为函数dosent知道11实际上是2个数字。 我很奇怪我可以分割数字并将它们放入一个数组中,所以当我将它传递给开关时它会得到med“one”“one”。
有什么想法吗?
var value = total;
switch(this.value){
case 1:
value ="one";
break
case 2:
value ="two";
break
case 3:
value ="three";
break
case 4:
value ="four";
break
case 5:
value ="five";
break
case 6:
value ="six";
break
case 7:
value ="seven";
break
case 8:
value ="eight";
break
case 9:
value ="nine";
break
case 0:
value ="zero";
break
default:
value ="zero"
}
答案 0 :(得分:1)
您可以使用string split
function:
var result = this.value.toString(10).split("").map(function(digit) {
return ["zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine"][digit];
});
(当然你可以使用一个循环代替map
;检查this answer and its comments数组的工作原理。
答案 1 :(得分:0)
将数字转换为字符串后,可以使用split()
。然后运行生成的数组并分配您的类。
var total = 11;
var pieces = ("" + total).split( "" );
for( var i=0; i<pieces.length; i++) {
// your switch in here
}