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

プロンプト ウィンドウに入力された値は文字列として保存されるため、整数として評価する必要があります。それには少なくとも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 に答える