JavaScript 如何定义一个二维数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 如何定义一个二维数组相关的知识,希望对你有一定的参考价值。
var arrayDate = [ 'One', 'Two', 'Three', 'Four', 'Five'];这是定义一个一维的数组,那么二维的该怎么定义呢?
谢谢
!
方法一:
定义已知长度的二维数组,可直接定义并且初始化
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]
方法二:
定义未知长度的二维数组
var tArray = new Array(); //先声明一维数组
for(var k=0;k<i;k++) //一维数组长度为i,i为变量,可以根据实际情况改变
tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组
for(var j=0;j<p;j++) //一维数组里面每个元素数组可以包含的数量p,p也是一个变量
tArray[k][j]="1"; //这里将变量初始化,我这边统一初始化为1
扩展资料:
javascript多维数组的创建:
<script>
var allarray=new Array();
var res="";
function loaddata()
for(var i=0;i<3;i++)
var starth=i*200;
var strarw=i*200;
var endh=(i+1)*200;
var endw=(i+1)*200;
allarray[i]=new Array();
allarray[i][0]=new Array();
allarray[i][1]=new Array();
allarray[i][0][0]=starth;
allarray[i][0][1]=strarw;
allarray[i][1][0]=endh;
allarray[i][1][1]=endw;
for(var i=0;i<allarray.length;i++)
var sh=allarray[i][0][0];
var sw=allarray[i][0][1]
var eh=allarray[i][1][0];
var ew=allarray[i][1][1]
res+="第"+i+"个坐标的开始坐标是:"+sh+","+sw+"结束坐标是:"+eh+","+ew+"<br/>";
document.getElementById("dv").innerhtml=res;
</script>。
参考资料来源:MDN web docs-Array
参考技术A用JavaScript 定义一个二维数组可以尝试看看以下几种方法:
方法一:直接定义并且初始化
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]];//定义了一个3*2的二维数组
方法二:未知长度的二维数组
var tArray = new Array(); //先声明一维
for(var k=0;k<i;k++) //一维长度为i,i为变量,可以根据实际情况改变
tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组
例子:
float a[3][4],b[5][10];
定义a为3*4的数组,b为5*10(5行10列)的数组。注意,不能写成
float a[3,4],b[5,10];
为便于理解特加入一个C语言程序及其运行结果:
#include <stdio.h>
int main(int argc, const char * argv[])
int array[3][5] = 0;//定义一个二维数组(3行5列)
int temp = 0;//设定一个临时的整型变量,用来给数组赋值
for (int a = 0 ; a < 3; a++)//外层循环给数组的第一维赋值,就是array[x][y]的x
for (int b = 0 ; b < 5; b++)//内层循环给数组的第二维赋值,就是array[x][y]的y
temp = temp + 1;//为了让数组的数值不同,让临时变量有自增
array[a][b] = temp;//二维数组的真正数据
printf("array[%d][%d] = %d\\t",a,b,array[a][b]);//打印出数组
printf("\\n");//输出一行后换行
return 0;
参考技术BVar tArray = new Array();//首先声明一个一维数组。
For (var k = 0;K <我;(K++)//一维长度为I, I为变量,可根据实际情况进行更改。
TArray [k] = new Array ();//声明二维,一维数组中的每个元素都是一个数组;
For (var j = 0;J < p;(J++)//每个一维数组中的元素个数可以包含p, p也是一个变量;
TArray [k] [j] = "";//变量在这里初始化,我将在这里均匀地初始化为null,然后用所需的值覆盖里面的值
扩展资料:
二维数组的基本运算:
转置矩阵
//其中A, B是m*n矩阵:
void tramat(matrix A,matrix B) int i,j;
for(i=0; i<m; i++)
for(j=0;j<n;j++)
B[j]=A[j];
矩阵相加:
//其中A,B,C是m*n矩阵:
void addmat(matrix C, matrix A, matrix B)
int i, j;
for(i=0; i<m; i++)
for(j=0;j<n;j++)
c[j] = A[j] + B[j];
矩阵相乘:
//其中A是m*n矩阵,B是n*1矩阵,C为m*1矩阵
void mutmat(matrix C, matrix A, matrix B)
int i, j, k;
for(i=0; i<m; i++)
for(j=0; j<i; j++)
C[j]=0;
for(k=0; k<n; k++)
C[j] = C[j] + A[k] * B[k][j];
参考资料:百度百科-JavaScript
参考技术C1、遇到数量少的情况时,可以快速定义并初始化,直接输入:var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]。
2、如果数量较多时,或者定义未知长度的二维数组时:for(var a=0;a<i;a++)tArray[a]=(matArray[a],addArray[a])。
3、matArray[a]和addArray[a]是两个数组,这两个数组直接传入tArray[a]中即可。
4、上面两种定义都会初始化二维数组,以便于后面可以进行动态修改。
扩展资料
动态定义二维数组的方法:
1.先定义一维:
var arr = new Array();
2.定义二维:
arr[0] = new Array(); arr[1] = new Array();
3.给数组赋值:
arr[0][0] = "00",arr[0][1] = "01",arr[1][0] = "10",arr[1][1] = "11"。
参考资料
百度百科-JavaScript
参考技术Dvar tArray = new Array(); //先声明一维数组。
for(var k=0;k<i;k++) //一维长度为i,i为变量,可以根据实际情况改变。
tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
for(var j=0;j<p;j++) //一维数组里面每个元素数组可以包含的数量p,p也是一个变量;
tArray[k][j]=""; //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
扩展资料:
二维数组的基本运算:
转置矩阵
//其中A, B是m*n矩阵:
void tramat(matrix A,matrix B) int i,j;
for(i=0; i<m; i++)
for(j=0;j<n;j++)
B[j]=A[j];
矩阵相加:
//其中A,B,C是m*n矩阵:
void addmat(matrix C, matrix A, matrix B)
int i, j;
for(i=0; i<m; i++)
for(j=0;j<n;j++)
c[j] = A[j] + B[j];
矩阵相乘:
//其中A是m*n矩阵,B是n*1矩阵,C为m*1矩阵
void mutmat(matrix C, matrix A, matrix B)
int i, j, k;
for(i=0; i<m; i++)
for(j=0; j<i; j++)
C[j]=0;
for(k=0; k<n; k++)
C[j] = C[j] + A[k] * B[k][j];
参考资料:百度百科-二维数组
参考资料:百度百科-javascript
C语言如何定义指针指向字符型二维数组
使用指针变量访问二维数组的任意一个元素的方法:
1.使用列指针:定义一个列指针p,让它指向二维数组的第0个元素
int a[3][4];
int *p;
p=&a[0][0];
//因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素
该二维数组的任意i行j列元素可表示为*(p+i*4+j)。
2.使用行指针:定义一个行指针p,让它指向二维数组的第0行
int a[3][4];
int (*p)[4];
p=a; //也可以为p=&a[0];
其中* ( *(p+i)+j)表示任意一个i行j列的元素。
扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当 中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]=0,1,2,3,4;表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]=1,1,1,1,1,1,1,1,1,1;而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]=1,2,3,4,5;可写为:static int a[]=1,2,3,4,5;动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
百度百科-数组
参考技术A在C语言中,可以通过如下方式来定义指向字符型二维数组的指针:
char c[4][5]; // 定义一个4行5列的字符型二维数组char (*pc)[5]; // 定义一个含5个元素的数组指针
pc=c; // 将数组指针pc指向二维字符数组c
注:
char (*pc)[5] 不能写为 char *pc[5]
char (*pc)[5] 表示数组指针,数组中每个元素为char型;
char *pc[5] 表示指针数组,数组中每个元素为char*,也即每个元素为指针。
参考技术B1、定义二维指针数组与定义一维指针数组差不多,只是矩阵的维度增加了一维而已。
2、下面通过具体的实例来说明如何定义一个二维数组:
int i,j; // 数组的行数和列数
// 下面的2个for循环是用来对二维指针数组进行初始化的,也即分配地址。如果不进行初始化操作,就会使指针变为野指针(即指向不明)。
for(i=0; i<2; i++)
for(j=0; j<3; j++)
p[i][j] = (int *)malloc(sizeof(int));
*p[0][1] = 2; // 对指针数组中指针所指向的内存单元进行赋值操作
printf("%d\\n", *p[0][1]); // 输出结果 参考技术C 定义字符型二维数组:char str[3][10];
定义指针型数组 : char *p[5] = str[0],str[1],str[2]; 参考技术D 如定义:int a[3][4];
int *p; p=a[0];此时p就指向0行0列元素
以上是关于JavaScript 如何定义一个二维数组的主要内容,如果未能解决你的问题,请参考以下文章