章节
问答
课签
笔记
评论
占位
占位

二维数组

一维数组,我们看成一组盒子,每个盒子只能放一个内容。

一维数组的表示: myarray[ ]

二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子。

二维数组的表示: myarray[ ][ ]

注意: 二维数组的两个维度的索引值也是从0开始,两个维度的最后一个索引值为长度-1。 

1. 二维数组的定义方法一

var myarr=new Array();  //先声明一维 
for(var i=0;i<2;i++){   //一维长度为2
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<3;j++){   //二维长度为3
   myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
   }
 }


注意: 关于for 循环语句,请看第四章4-5 。

将上面二维数组,用表格的方式表示:

2. 二维数组的定义方法二

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]

3. 赋值

myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。

说明: myarr[0][1] ,0 表示表的行,1表示表的列。

 

任务

试一试,创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积,如myarr[2][5]=2*5。

在右边编辑器的script标签内,创建该二维数组。

?不会了怎么办

1. var Myarr = [[0,0,0,0,0,0],[0,1,2,3,4,5],[0,2,4,6,8,10]]

2. 

var myarr=new Array();  //先声明一维 
for(var i=0;i<3;i++){   //一维长度为3
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<6;j++){   //二维长度为6
   myarr[i][j]=i*j;   // 赋值,每个数组元素的值为i*j
   }
 }
||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / lx2022301037
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>二维数组示例</title><script type="text/javascript">    var myarr = new Array();    for (var i = 0; i < 5; i++) {        myarr[i] = new Array();        for (var ...

最新回答 / 阳火锅
我在学呀

最新回答 / 中二123
我应该搞明白了,比作盒子来看,document.write("长度为:"+mmy.length)是算的是整体有多少个大盒子,document.write("长度为:"+mmy[1].length)就是算的是第二个大盒子里面有多少个小盒子。

最新回答 / weixin_慕丝6489054
不行,这是一个确定的数组元素,.length说明的是数组的长度不是某一个元素的长度 myarr[i].length这个可以

最新回答 / 阳火锅
var myarr =new Array();for(var i=0;i<3;i++){    myarr[i] =new Array();    for(var j=0;j<6;j++){        myarr[i][j]=i*j;        document.write(myarr[i][j]);    }}

最新回答 / 慕神6129356
取决于你要达成的结果。题目要求是积,所以,只能是i*j;如果要求是和,就是i+j.

最新回答 / 35岁就退休的程序猿
-1就是数组长度减去1,如果数组长度为8,那么最后一个索引为7;如果数组长度为5,那么最后一个索引为4

已采纳回答 / 小数慕
你的输出内容语句在for循环里,这一行数字可以看成xyz[0][0]=0、xyz[0][1]=0、xyz[0][2]=0,......输出的元素没有间隔就是你这个结果。你可以改成document.write(xyz[i][j]+"<br>");就能清楚一点

最新回答 / 颜晓明l仁仁阅
你把输出的双引号去掉就可以了

最新回答 / qq_尐小白ovo_CDEJQX
输出语句不在循环内,编辑器没法知道你要输出的变量是谁,比如i,j。你可以这样写  var myarr=[];    for(var i=0;i<3;i++){        myarr[i]=[];        for(var j=0;j<6;j++){            myarr[i][j]=i*j;            document.write(myarr[i][j]+"<br>");        }    }    

已采纳回答 / 慕姐8494960
集美,代码要看全呀, document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");   这一句,分成几个部分:"myarr["     +      "]["       +      j      +     "]的值:"      +    myarr[i][j]    +    "<br>"   中间引号里面的是字符串拼接呀,就是字符串加变量的话就要这样拼接的。

已采纳回答 / 慕斯8195898
其实大概可以这么理解,准确来说一维数组相当于是一维向量,二维数组相当于二维向量。你那个0和23对应的是数组的索引,也就是通过索引找到数组里面对应的元素,可以理解为地址,myarr[0][23] = "葫芦娃"就相当于将一个值放进这个地址里。如果你学过C或C++的话,数组就相当于开辟了一段空间。

已采纳回答 / 这个土豆有点呆
你的第一个for是小于3,下面的是小于四,你第二个for循环写了大写的J
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言