今天才刚发现的问题,原来js没有办法自己定义二维数组,找了找之后发现,我们可以通过循环的方式定义二维三维……数组。
//先定义一个数组
var arr = []; //我喜欢这么写,你也可以var arr = new Array(); 都一样。
定义完数组之后就可以给他循环了,可以看到现在我们的数组Arr是一个空数组,直接这么循环是没有用带的,我结合我的实际情况,改成了这样:
var nn = 0;
var list = [];
$('.tr').each(function(){
list[nn] = [];
list[nn]['code'] = $(this).find('.tdcode').html();
......
nn++;
});
可以通过这几行简单的代码看出来,我就是在每次给他二维赋值之前,先把他一维数组中的每一项,定义为一个数组,这样就可以避开无法直接定义二维数组的问题了。也可以直接把这些写成一个方法:
function Array_2(nRow,nColumn){
var array1=new Array(); //定义一维数组
for(i=0;i<nRow;i++){
//将每一个子元素又定义为数组
array1[i]=new Array();
//----------------------------------------
for(n=0;n<nColumn;n++){
array1[i][n] = ''; //此时aa[i][n]可以看作是一个二级数组
}
//--------------------------------------
}
return array1;
}
需要使用的时候直接按照需要传两个参数就可以了。