带间隔提示和修复的随机数

时间:2013-02-22 20:10:15

标签: javascript random prompt

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

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。有人知道为什么吗?

2 个答案:

答案 0 :(得分:2)

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

  1. 使用函数parseInt

    var minV = parseInt(prompt("min"));
    var maxV = parseInt(prompt("max"));
    
  2. 将'string'乘以1:

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

答案 1 :(得分:1)

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