-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中没有多维数组,所以你拥有的是一个数组数组,也称为锯齿数组。

只需省略第二个索引,您就会将内部数组发送给函数:

getmyarray(inarray[mynum]);

在函数中,您有一个简单的数字数组,因此只需通过单个索引访问它:

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

谢谢巴特!!

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

效果很好!当我将它传递给一个函数时

getmyarray(my2darray[mynum])

我可以像你期望的那样访问!

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

和 console.log(x); 是正确的!

..现在我不知道为什么,但是当我尝试在谷歌地球插件中使用传递的值时,我得到
“错误:npobject 上的错误调用方法”并且该错误出现在范围部分......调查进步..

于 2013-07-23T21:09:34.170 回答
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 数组也很简单。它就像一个返回另一个数组的一维数组一样工作。

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