-3

次の方法で多次元を操作しようとしています

function 2darray(mynum) {
  var outarray[];

  outarray.push(1, 3, 5);
  outarray.push(2, 4, 6);

  var inarray[];

  for (var i = 0; i < outarray.length; i++) {
    inarray.push(outarray[i]);
  }

// 別の関数に情報を渡したい

  getmyarray(inarray[mynum])
}


function getmyarray(access) {

// ここで渡された値にアクセスしますが、次のことを正しく行っていますか。

  xassess = access[ ? ][0];
  yassess = access[ ? ][1];
}
4

3 に答える 3

1

Javascript には多次元配列がないため、配列の配列 (ジャグ配列とも呼ばれます) になります。

2 番目のインデックスを省略するだけで、内部配列が関数に送信されます。

getmyarray(inarray[mynum]);

関数には単純な数値の配列があるため、単一のインデックスでアクセスするだけです。

xassess = access[0];
yassess = access[1];
于 2013-07-21T21:33:16.677 に答える
0

JavaScript には従来の多次元配列はなく、配列の配列のみです。

// a literal array
var my2dArray = [
    [1, 2, 3],
    [4, 5, 6]
];

// a "constructed" array
var my2dArray = [];
my2dArray.push([1, 2, 3]);
my2dArray[1] = [4, 5, 6];
my2dArray[2] = [];
my2dArray[2][0] = 7;

2D 配列へのアクセスも非常に簡単です。別の配列を返す 1D 配列のように機能します。

my2dArray[0] == [1, 2, 3];
my2dArray[0][0] == 1;
my2dArray[0][1] == 2;
my2dArray[1][2] == 6;
于 2013-07-21T21:37:04.150 に答える
0

ありがとうバート!!

var my2dArray =[
[1, 2, 3],
[4, 5, 6]
];

よく働く!そしてそれを関数に渡すと

getmyarray(my2darray[mynum])

私はあなたが期待するようにアクセスできます!

function getmyarray(mypassedarray)
{    var x=mypassedarray[0]; 

および console.log(x); 正しい!

..理由はわかりませんが、Google Earth プラグインで渡された値を使用しようとすると、
「エラー: npobject でメソッドを呼び出しているときにエラーが発生しました」というメッセージが表示され、そのエラーは範囲部分で発生します...調査中進捗..

于 2013-07-23T21:09:34.170 に答える