0

このコード http://jsfiddle.net/minagabriel/5MQ77/

     var flowShadeBigArray =[] ;
          var x = [7, 411, 780]
          var y = [286, 712, 1058]

        for( var i = 0 ; i< x.length;i++){

            for(var index = x[i]; index <= y[i] ; index++ ){

                 var temp = [] ; 

                temp.push(index) ; 
                flowShadeBigArray.push(temp); 


            }

        }
        console.log(JSON.stringify(flowShadeBigArray));

次の配列を生成します

 [[7],[8],[9],[10],[11],[12],[13],[14]................[1056],[1057],[1058]]

flowShadeBigArray 内に 3 つの配列を作成し、[x[i] ... y[i] ] グループ化したいと考えています。

[  [  [7]....[286] ] , [ [411]...[712] ] ,[ [780]...[1058] ] ]

注私はまだこれらの数値を配列として保持する必要があるので、それを他の何かのインデックスとして使用できます

ありがとう

4

2 に答える 2

1

temp初期化を最初のループの 2 番目のループの前に移動し、最初のループ.push()の 2 番目のループの後に移動します (または前は関係ありません)。

var flowShadeBigArray = [];
var x = [7, 411, 780]
var y = [286, 712, 1058]

for (var i = 0; i < x.length; i++) {
    var temp = [];

    for (var index = x[i]; index <= y[i]; index++) {
        temp.push(index);
    }
    flowShadeBigArray.push(temp);
}

http://jsfiddle.net/5MQ77/1/

個々の数値が独自の配列に属している場合は、次のように変更します。

flowShadeBigArray.push(temp);

これに:

flowShadeBigArray.push([temp]);
于 2012-05-11T20:23:57.883 に答える
0

-編集済み

function range(from, to) {
    var arr = [];
    while (from <= to) {
         arr.push([i++]);
    }
    return arr;
}
var result = [];
for (var i=0; i<x.length; i++) {
    result.push(range(x[i], y[i]));
}
于 2012-05-11T20:25:31.347 に答える