什么是二维数组?
定义:一维数组的元素可以是一个数组,就构成了二维数组。我可以把一维数组理解为excel表格中的一行多列,二维数组则是多行多列
如何创建二维数组?
✨二维数组的创建方法和一维数组类似,可以通过直接声明或创建Array
对象等方法实现
//方法一 var arr=[[1,2,3],["a","b","c"],[2,3,4]];//创建一个3行3列的数组,并赋值 document.write(arr[1][2]);//输出第2列第3行所在的元素c
//输出元素c var arr=new Array();//先创建一个空数组 arr[0]=new Array(1,2,3); arr[1]=new Array("a","b","c"); arr[2]=new Array(2,3,4); document.write(arr[1][2]);//输出第2列第3行所在的元素c
什么是遍历二维数组?
二维数组的遍历需要用到双重循环,外循环控制的是二维数组的长度,内循环控制的是逐个一维数组的长度
⏺️使用for循环实现二维数组遍历
//for循环实现二维数组遍历 var arr=new Array(new Array(1,2,3),new Array("a","b","c"),new Array(2,3,4)); for(var i=0;i<arr.length;i++){//外重循环,arr.length得到的二维数组的长度 for(var j=0;j<arr[i].length;j++){ document.write(arr[i][j]+" ");//内重循环arr[i].length得到的是当前一维数组的长度 } document.write("<br>"); }
输出结果如下:
数组特有方法有哪些?
数组(7-1)中提到了一些常用的数组方法,这里给大家介绍的是join() 方法,concat()方法,slice()方法,reverse()方法
✨ join()方法
:用于把数组中的所有元素放入一个字符串中,元素是通过指定的分隔符进行分隔
语法:arrayObject.join(sparator分隔符)
返回值:返回一个字符串。该字符串是通过arrayObject
的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator
字符串生成。
//数组join()方法 var arr=new Array(3); arr[0] = "wendy"; arr[1] = "rose"; arr[2] = "tom"; var sresult1=arr.join(); document.write(sresult1+"<br>"); var sresult2 = arr.join("!"); document.write(sresult2);
输出结果显示
✨concat()方法
:用于来连接两个或多个数组
语法:arrayObject.concat(arrayX,arrayX,…,arrayX)
参数:arrayX
是必需的,其可以是具体的值,也可以是数组对象
返回值:返回一个新的数组。该数组是通过把所有arrayX参数添加到目标数组中生成的
//concat()方法 var a=[1,2,3]; var b=a.concat("s1","s2"); document.write(b);//1,2,3,s1,s2
✨slice()方法
:可从已有的数组中返回选定的元素
语法:arrayObject.slice(start,end)
参数:start
是必需的,用来规定从何处开始选取,第一个元素为0,如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。
end
可选,用来规定从何处结束选取,该参数是数组片段结束处的数组下标。
返回值:返回一个新的数组,包含从start到end的arrayObjec
t中的元素。注意:这个方法不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用Array.splice().
//slice()方法 var arr=new Array(3); arr[0] = "wendy"; arr[1] = "rose"; arr[2] = "tom"; document.write(arr+"<br>"); var arr2=arr.slice(1,2); document.write(arr2+"<br>"); document.write(arr);
输出结果如下:
✨reverse()
方法:用于颠倒数组中元素的顺序。它会改变原来的数组,而不会创建新的数组
语法:arrayObject.resverse()
//reverse()方法 var arr=new Array(3); arr[0] = "wendy"; arr[1] = "rose"; arr[2] = "tom"; document.write(arr+"<br>"); arr.reverse(); document.write(arr);
本章学习总结
数组是一种非常基础的数据结构,它可以存储一组有序的数据,并且可以快速地进行访问和操作。在实际应用中,我们可以根据具体的场景来选择合适的数据结构,以提高程序的效率和性能。