数组
一、初识数组
- 数组构成:由一个或多个数组元素组成的,各元素之间使用逗号","分割。
- 数组元素:每个数组元素由"索引下标"和"值"构成。
- 根据维数划分为一维数组、二维数组、三维数组等多维数组。
- 解决问题:保存一个班级学生信息,每个数组元素都代表一个学生,而每个学生都使用一个一维数组分别表示其姓名、学号、年龄等信息。
二、创建数组
1、使用Array对象创建数组
var area=new Array('Beijing','Shanghai','Shenzhen')
2、使用“[]”创建数组
var weather=['wind','fine']
三、数组的基本操作
1、数组的基本操作
1、获取和设置数组长度:length属性
2、设置长度的规则
- 设置的length>原数组长度,则没有值的数组元素会占用空存储位置。
- 设置的length=原数组长度,则数组长度不变。
- 设置的length<原数组长度,则多余的数组元素将会被舍弃。
2、数组的访问与遍历
访问数组元素
数组元素访问方式:“数组名[下标]”。
遍历数组元素
- 利用下标遍历数组:使用for
- 利用下标遍历数组:使用for…in语句
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: white;
}
li {
float:left;
}
li a {
display: block;
color: black;
text-align: center;
padding: 14px 65px;
text-decoration: none;
}
li a:hover {
background-color: blue;
}
</style>
</head>
<body>
<div class="nav" id="navlist"></div>
<script>
var navlist=['首页','免费资源','课程中心','IT学院','学员故事','线上学院','技术社区'];
var str='<ul>';
for(var i in navlist){
str+='<li><a>'+navlist[i]+'</a></li>';
}
str+='</ul>';
document.getElementById('navlist').innerHTML=str;
</script>
</body>
四、元素的添加与修改
1、添加元素
var height=[];
height[5]=183;
height[0]=175;
height[3]=150;
console.log(height);
2、修改元素
var arr=['a','b','c','d'];
arr[2]=123;
arr[3]=456;
console.log(arr);
3、元素的删除
var stu=['Tom','Jimmy','Lucy'];
console.log(stu);
delete stu[1];
console.log(stu);
五、二维数组的转置
<script>
var arr=[['a','b','c'],['d','e','f'],['g','h','i'],['j','k','l']];
var res=[];
for(var i=0;i<arr[0].length;++i){
res[i]=[];
for(var j=0;j<arr.length;++j){
res[i][j]=arr[j][i];
}
}
console.group('转置前:');
console.log(arr);
console.groupEnd();
console.group('转置后:');
console.log(res);
console.log();
</script>
六、常见的数组方法
1、栈方法
利用Array对象提供的栈方法实现数组元素的添加与删除
push()和unshift()方法的返回值是新数组的长度。
pop()和shift()方法返回的是移出的数组元素。
2、检索方法
方法名称 | 功能描述 |
---|---|
includes() | 用于确定数组中是否含有某个元素,含有返回true,否则返回false。 |
Array.isArray() | 用于确定传递的值是否是一个Array,是返回true,不是返回false。 |
indexOf() | 返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1 |
lastIndexOf() | 返回指定元素在数组中的最后一个的索引,如果不存在则返回-1 |
3、数组转字符串
方法名称 | 功能描述 |
---|---|
join() | 将数组的所有元素连接到一个字符串中。 |
toString() | 返回一个字符串,表示指定的数组及其元素 |
•join()和toString()方法的相同点:
1、可将多维数组转为字符串,默认情况下使用逗号连接。
2、当数组元素为undefined、null或空数组时,对应的元素会被转换为空字符串
•join()和toString()方法的不同点。
1、join()方法可以指定连接数组元素的符号。
4、其他方法
方法名称 | 功能描述 |
---|---|
sort() | 对数组的元素进行排序,并返回数组。 |
fill() | 用一个固定值填充数组中指定下标范围内的全部元素 |
reverse() | 颠倒数组中元素的位置 |
splice() | 对一个数组在指定下标范围内删除或添加元素 |
slice() | 从一个数组的指定下标范围内拷贝数组元素到一个新数组中 |
concat() | 返回一个合并两个或多个数组后的新数组 |