1

我尝试用随机数填充数组:

var randomArray = new Array(10);
function randFillArray(array, aInx, zInx) {
    for(var i = 0; i < array.length; i++) {
        array[i] = randomFromInterval(aInx, zInx);
    }
}
function randomFromInterval(from, to){
    return Math.floor((Math.random() *(to - from + 1)) + from);
}
var minV = 1;
var maxV = 6;
randFillArray(randomArray, minV, maxV);
for(var i = 0; i < randomArray.length; i++) {
        document.write(randomArray[i]+"<br />");
    }

这是很好的工作。但是如果我想像这样输入最小值和最大值:

var minV = prompt("min");
var maxV = prompt("max");

具有相同的 min = 1 和 max = 6,我可以在数组中得到 0。有人知道为什么吗?

4

2 回答 2

2

在提示窗口中输入的值存储为字符串,因此您必须将它们评估为整数。至少有两种方法可以做到这一点。

  1. 使用功能parseInt

    var minV = parseInt(prompt("min"));
    var maxV = parseInt(prompt("max"));
    
  2. 将“字符串”乘以 1:

    var minV = prompt("min");
    var maxV = prompt("max");
    minV *= 1;
    maxV *= 1;
    
于 2013-02-22T20:22:29.660 回答
1
var minV = parseInt(prompt("min"));
var maxV = parseInt(prompt("max"));
于 2013-02-22T20:25:31.483 回答