数组
- 数组介绍
- 一、数组概念
- 二、数据元素
- 定义数组
- 一、定义空数组
- 二、指定数组长度
- 三、指定数组元素
- 四、直接定义数组
- 操作数组元素
- 一、数组元素的输入输出
- 二、数组元素的添加
- 三、数组元素的删除
- 数组的属性
- length属性
- prototype属性
- 数组的方法
- 一、数组的添加和删除
- 1)数组的添加
- 2)数组的删除
- 二、设置数组的排列顺序
- reverse()方法:用于颠倒数组中的元素顺序(反序)
- sort()方法:用于对数组元素进行排序。
- 三、获取某段数组元素
- 四、数组转换成字符串
- 1)toString()方法
- 2)toLocaleString()方法
- 3)join()方法
- 二维数组
数组介绍
一、数组概念
数组(Array)就是一组数据的集合,数组是JavaScript中用来存储和操作有序数据集的数据结构。
二、数据元素
数组是数据元素的集合,每个数据元素都有一个下标,通过下标可以方便地引用数组元素。
定义数组
一、定义空数组
使用不带参数的构造函数可以定义一个空数组,在定义空数组后再向数组中添加数组元素。
如:
var arr=new Array();
二、指定数组长度
在定义数组的同时可以指定数组元素的个数,此时并没有为数组元素赋值,所有的数组元素的值是undefined。
var arr=new Array(2);
document.write(arr[0]);
document.write(arr[1]);
三、指定数组元素
在定义数组的同时可以直接给出数组元素的值,此时数组的长度就是在括号中给出的数组元素的个数。
var arr=new Array(2,7,"d");
document.write(arr[0]);
document.write("<br>");
document.write(arr.length);
四、直接定义数组
直接将数组元素放在一个中括号中,元素与元素之间用逗号分隔。
<script>
var arr=[2,7];
document.write(arr[0]);
document.write("<br>");
document.write(arr.length);
</script>
操作数组元素
一、数组元素的输入输出
数组元素的输入
1)在定义Array对象时直接输入数组元素
2)利用数组元素下标向Array对象中输入数组元素
3)利用for语句向Array对象中输入数组元素
<script>
var arr=new Array("a","r","r","a","y");
document.write(arr.length);
document.write("<br>");
document.write(arr[5]);//数组的长度只有5,输出这个的时候,没有定义,输出undefined
document.write("<br>");
arr[5]="add";
document.write(arr[5]);
document.write("<br>");
document.write(arr.length);
document.write("<br>");
for(var i=0;i<7;i++){
arr[i]=i;
document.write(arr[i]+" ");
}
</script>
数组元素的输出
用下标获取指定元素值
用for语句获取数组中的元素值
用数组对象名输出所有的元素值
实例01:
创建一个存储3个学生姓名(张三、李四、王五)的数组,然后输出这3个数组元素
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr=new Array("张三","李四","王五");
for(var i=0;i<arr.length;i++){
document.write("第"+(i+1)+"个学生的姓名是:"+arr[i]+"<br>");
}
</script>
</body>
</html>
二、数组元素的添加
添加数组元素的方法,只要对新的数组元素进行赋值就行了。
<body>
<script type="text/javascript">
var arr=new Array("张三","李四","王五");
arr[3]="赵六";
document.write(arr)
</script>
</body>
三、数组元素的删除
使用delete运算符可以删除数组元素的值。
应用delete运算符删除数组元素之前和删除数组元素之后,元素个数并没有改变
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr=new Array("张三","李四","王五");
delete arr[1];
document.write(arr)
</script>
</body>
</html>
数组的属性
length属性
该属性用于返回数组的长度
prototype属性
该属性可以为数组对象添加自定义的属性或方法。
例题03:
利用自定义方法显示数组的全部数据
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
Array.prototype.show = function() {
document.write(arr);
}
var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8);
arr.show();
</script>
</body>
</html
数组的方法
一、数组的添加和删除
1)数组的添加
concat()方法:该方法用于将其它数组连接到当前数组的末尾。
push()方法:像数组的末尾添加一个或多个元素,并返回添加后的数组长度。
unshift()方法:向数组的开头添加一个或多个元素。
2)数组的删除
pop()方法:用于把数组中的最后一个元素从数组中删除,并返回删除元素的值。
shift()方法:用于把数组中的第一个元素从数组中删除,并返回删除元素的值。
splice()方法:用于删除数组中指定位置的元素,还可以向数组中的指定位置添加新元素。
二、设置数组的排列顺序
将数组中的元素按照指定的顺序进行排列可以通过reverse()和sort()方法实现。
reverse()方法:用于颠倒数组中的元素顺序(反序)
实例01:
将1,2,3,4反序
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr = new Array(1, 2, 3, 4);
arr.reverse();
document.write(arr);
</script>
</body>
</html>
sort()方法:用于对数组元素进行排序。
实例01:
将数组中的元素按照从小到大进行输出
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b
}
var arr = new Array(2, 11,4, 13);
document.write("原数组:"+arr+"<br>");
document.write("排序后的数组:"+arr.sort(sortNumber));
</script>
</body>
三、获取某段数组元素
获取数组中的某段数组元素主要用slice()方法实现,slice()方法可从已有的数组中返回选定的元素。
实例01:
选取数组中某段数组元素
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr = new Array("a","b","c","d","e","f");
document.write("原数组:"+arr+"<br>");
document.write("获取数组中第3个元素后的所有元素:"+arr.slice(2)+"<br>");
document.write("获取数组中第2个和第5个元素:"+arr.slice(1,5)+"<br>");
document.write("获取数组中倒数第2个元素后的所有元素:"+arr.slice(arr.length-2));
</script>
</body>
</html>
四、数组转换成字符串
将数组转换成字符串主要通过toString(),toLocaleString()和join()方法实现。
1)toString()方法
该方法可把数组转换成字符串,并返回结果。
2)toLocaleString()方法
该方法将数组转换成本地字符串,并返回结果。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr = new Array("a","b","c","d","e","f");
document.write(arr.toLocaleString());
</script>
</body>
</html>
3)join()方法
该方法将数组中的所有元素放入一个字符串中。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var arr = new Array("a","b","c","d","e","f");
document.write(arr.join("-"));
</script>
</body>
</html>
二维数组
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var myarr=new Array();//先声明一维数组
for(var i=0;i<2;i++){
myarr[i]=new Array();//再声明二维数组
for(var j=0;j<3;j++){
myarr[i][j]=i+j;
document.write(myarr[i][j]);
}
document.write('<br>');
}
</script>
</body>
</html>