我想要做的是以下代码
$floorNo = 1; // current floor
if ($floorNo == 1){
$number1++;
} else if ($floorNo == 2){
$number2++;
} ...
等
是否有较短版本,例如($number+$floorNo)++;
?
答案 0 :(得分:0)
您应该使用数组执行此任务:
var $numbers = [1, 2, 3, 4];
var $floorNo = parseInt(prompt("Enter number"), 10);
$numbers[$floorNo - 1]++; // `-1` as the array uses zero-based indexing
答案 1 :(得分:0)
一般来说,只要您有var1
,var2
,var3
等,就应该使用array。例如:
$numbers = [0, 0, 0, 0]; // initialize your numbers
...
$numbers[$floorNo - 1]++; // increment the number at the given 'floorNo'
另请注意,数组索引通常从零开始。
答案 2 :(得分:0)
您可以使用数组:
var arr = [1, 2, 3];
var floorNo = 1;
arr[floorNo]++; // = [1, 3, 3]
如果用户输入floorNo
,您可以使用模运算符确保其有效:
arr[floorNo % arr.length]++; // = [1, 3, 3]
答案 3 :(得分:0)
您可以使用eval:
var $floorNo = 1,
$number1 = 5;
try {
eval('var $nValue = $number' + $floorNo.toString() + '++;');
console.log(eval('$number' + $floorNo.toString()));
}
catch(e) {}
小心点。因为必须在使用eval之前定义变量$number1..N
。