2011-09-09 11 views
2

3つの固定フィールドを含む配列を作成しようとしていました。
ので、ループのjavascriptを使用した複数の変数宣言

var x0 = new Array(x,y,z); 

のようなものは今のものは、異なる値を持つX []、などの複数のアレイが可能です。
だから、変数xに値を渡すことになる

var x1 = new Array(x,y,z); x2 = new Array(x,y,z); 

ような、Y、X0等Z [0] = "テスト"、X0 [1] = "別の"、.​​..
Iはそのような配列の可変数を作成する必要があるので、もし私が値10を渡すと、それは私のために10の異なる配列を作成する必要があります。どのようにしてこれを行いますか?変数を作成するためにループを使用することはできますか?

多次元配列と呼ばれるものがありますが、使用方法がわかりませんでした。私は試みましたが、明らかにそれは非常に異なっており、私はそれを理解しませんでした。 また、私はオブジェクトを宣言し、その値をパラメータに渡し、必要に応じてオブジェクトを作成することを考えました。これは可能ですか?そして、どの方法が良いでしょうか?

これを行う方法は他にありますか?おそらく最も効率的なものでしょうか?

答えて

2

配列の配列を作成してください:

var myArrays = []; 

for(var i=0;i<something;i++){ 
    myArrays.push([x,y,z]); 
} 

x0[0]の代わりにx[0][0]があります。

new Arrayを使用しないでください。代わりに[]を使用してください。

+0

さて、私はこれを試しました。 'var myArrays = []; var x = "a"; var y = "b"; var z = "c"; for(var i = 0; i <4; i ++){ myArrays.push([x、y、z]); } ' 私はx [0] [0]をaとして取得します。 x [0] [1]は未定義です。私はどのようにbを得るのですか? – Naivejs

+0

私のために働く:http://jsfiddle.net/6YjHX/ 'x'はちょうど" a "、配列は' myArrays'ですので、 'myArrays [0] [1]' –

+0

申し訳ありません、私の悪い、私は間違った値。 ありがとう:D – Naivejs

1

あなたは今、あなたは、例えばアクセスできる

var x =[]; 
x[0]=["x","y","z"]; 
x[1]=["x","y","z"]; 
x[2]=["x","y","z"]; 

または

function addArr(arr,newarr) { 
    arr[arr.length]=newarr; // or arr.push(newarr); 
} 
var x =[]; 
for (var i=0;i<10;i++) { 
    addArr(x,[i,i+1,i+2]); 
} 
+0

2番目の回答は、私が望んでいたようです。試してみる。 ありがとう:) – Naivejs

1
var n = 100; // number of x-arrays (x0, x1, ...) 
var allX = new Array(n); // array of length n 

for (var i=0; i<n; i++){ 
    allX[i] = [x,y,z]; // array with elements x, y, z 
} 

を意味しますか

var z = allX[2][2]; 

編集:様

var x1 = allX[1]; 

または第3のアレイ(x2[2])の3番目の要素:のような二番目の配列(x1)はnew Array()との間の配列の宣言の違いについてthis explanation参照します[]

+0

申し訳ありません、私は少し素朴ですが、これはこれを解決する必要がありますように見えます。 使い方の詳細をありがとう:) – Naivejs

+0

よろしくお願いします!ちょうどあなたがここに新しいので、あなたが好きな答えを受け入れ、アップアップすることを忘れないでください!あなたのコードで幸運。 – Remi

+0

Plsが新しい配列を[]に変更する – mplungjan

関連する問題